This file is indexed.

/usr/lib/python3/dist-packages/phabricator/interfaces.json is in python3-phabricator 0.7.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

1
{"almanac.device.search":{"description":"This is a standard **ApplicationSearch** method which will let you list, query, or search for objects. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Search+Endpoints&type=article&jump=1 | Conduit API: Using Search Endpoints ]]**.","params":{"queryKey":"optional string","constraints":"optional map\u003cstring, wild\u003e","attachments":"optional map\u003cstring, bool\u003e","order":"optional order","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"map\u003cstring, wild\u003e"},"almanac.service.search":{"description":"This is a standard **ApplicationSearch** method which will let you list, query, or search for objects. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Search+Endpoints&type=article&jump=1 | Conduit API: Using Search Endpoints ]]**.","params":{"queryKey":"optional string","constraints":"optional map\u003cstring, wild\u003e","attachments":"optional map\u003cstring, bool\u003e","order":"optional order","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"map\u003cstring, wild\u003e"},"audit.query":{"description":"Query audit requests.","params":{"auditorPHIDs":"optional list\u003cphid\u003e","commitPHIDs":"optional list\u003cphid\u003e","status":"optional string-constant\u003c\"audit-status-any\", \"audit-status-open\", \"audit-status-concern\", \"audit-status-accepted\", \"audit-status-partial\"\u003e (default = \"audit-status-any\")","offset":"optional int","limit":"optional int (default = 100)"},"return":"list\u003cdict\u003e"},"auth.logout":{"description":"Terminate all web login sessions. If called via OAuth, also terminate the current OAuth token.\n\nWARNING: This method does what it claims on the label. If you call this method via the test console in the web UI, it will log you out!","params":[],"return":"void"},"auth.querypublickeys":{"description":"Query public keys.","params":{"ids":"optional list\u003cid\u003e","phids":"optional list\u003cphid\u003e","objectPHIDs":"optional list\u003cphid\u003e","keys":"optional list\u003cstring\u003e","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"result-set"},"badges.edit":{"description":"This is a standard **ApplicationEditor** method which allows you to create and modify objects by applying transactions. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Edit+Endpoints&type=article&jump=1 | Conduit API: Using Edit Endpoints ]]**.","params":{"transactions":"list\u003cmap\u003cstring, wild\u003e\u003e","objectIdentifier":"optional id|phid|string"},"return":"map\u003cstring, wild\u003e"},"badges.search":{"description":"This is a standard **ApplicationSearch** method which will let you list, query, or search for objects. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Search+Endpoints&type=article&jump=1 | Conduit API: Using Search Endpoints ]]**.","params":{"queryKey":"optional string","constraints":"optional map\u003cstring, wild\u003e","attachments":"optional map\u003cstring, bool\u003e","order":"optional order","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"map\u003cstring, wild\u003e"},"conduit.connect":{"description":"Connect a session-based client.","params":{"client":"required string","clientVersion":"required int","clientDescription":"optional string","user":"optional string","authToken":"optional int","authSignature":"optional string","host":"deprecated"},"return":"dict\u003cstring, any\u003e"},"conduit.getcapabilities":{"description":"List capabilities, wire formats, and authentication protocols available on this server.","params":[],"return":"dict\u003cstring, any\u003e"},"conduit.getcertificate":{"description":"Retrieve certificate information for a user.","params":{"token":"required string","host":"required string"},"return":"dict\u003cstring, any\u003e"},"conduit.ping":{"description":"Basic ping for monitoring or a health-check.","params":[],"return":"string"},"conduit.query":{"description":"Returns the parameters of the Conduit methods.","params":[],"return":"dict\u003cdict\u003e"},"conpherence.createthread":{"description":"Create a new conpherence thread.","params":{"title":"optional string","message":"required string","participantPHIDs":"required list\u003cphids\u003e"},"return":"nonempty dict"},"conpherence.querythread":{"description":"Query for Conpherence threads for the logged in user. You can query by IDs or PHIDs for specific Conpherence threads. Otherwise, specify limit and offset to query the most recently updated Conpherences for the logged in user.","params":{"ids":"optional array\u003cint\u003e","phids":"optional array\u003cphids\u003e","limit":"optional int","offset":"optional int"},"return":"nonempty dict"},"conpherence.querytransaction":{"description":"Query for transactions for the logged in user within a specific Conpherence room. You can specify the room by ID or PHID. Otherwise, specify limit and offset to query the most recent transactions within the Conpherence room for the logged in user.","params":{"roomID":"optional int","roomPHID":"optional phid","limit":"optional int","offset":"optional int"},"return":"nonempty dict"},"conpherence.updatethread":{"description":"Update an existing conpherence room.","params":{"id":"optional int","phid":"optional phid","title":"optional string","message":"optional string","addParticipantPHIDs":"optional list\u003cphids\u003e","removeParticipantPHID":"optional phid"},"return":"bool"},"dashboard.panel.edit":{"description":"This is a standard **ApplicationEditor** method which allows you to create and modify objects by applying transactions. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Edit+Endpoints&type=article&jump=1 | Conduit API: Using Edit Endpoints ]]**.","params":{"transactions":"list\u003cmap\u003cstring, wild\u003e\u003e","objectIdentifier":"optional id|phid|string"},"return":"map\u003cstring, wild\u003e"},"differential.close":{"description":"Close a Differential revision.","params":{"revisionID":"required int"},"return":"void"},"differential.createcomment":{"description":"Add a comment to a Differential revision.","params":{"revision_id":"required revisionid","message":"optional string","action":"optional string","silent":"optional bool","attach_inlines":"optional bool"},"return":"nonempty dict"},"differential.creatediff":{"description":"Create a new Differential diff.","params":{"changes":"required list\u003cdict\u003e","sourceMachine":"required string","sourcePath":"required string","branch":"required string","bookmark":"optional string","sourceControlSystem":"required string-constant\u003c\"svn\", \"git\", \"hg\"\u003e","sourceControlPath":"required string","sourceControlBaseRevision":"required string","creationMethod":"optional string","lintStatus":"required string-constant\u003c\"none\", \"skip\", \"okay\", \"warn\", \"fail\"\u003e","unitStatus":"required string-constant\u003c\"none\", \"skip\", \"okay\", \"warn\", \"fail\"\u003e","repositoryPHID":"optional phid","parentRevisionID":"deprecated","authorPHID":"deprecated","repositoryUUID":"deprecated"},"return":"nonempty dict"},"differential.createinline":{"description":"Add an inline comment to a Differential revision.","params":{"revisionID":"optional revisionid","diffID":"optional diffid","filePath":"required string","isNewFile":"required bool","lineNumber":"required int","lineLength":"optional int","content":"required string"},"return":"nonempty dict"},"differential.createrawdiff":{"description":"Create a new Differential diff from a raw diff source.","params":{"diff":"required string","repositoryPHID":"optional string","viewPolicy":"optional string"},"return":"nonempty dict"},"differential.createrevision":{"description":"Create a new Differential revision.","params":{"user":"ignored","diffid":"required diffid","fields":"required dict"},"return":"nonempty dict"},"differential.getcommitmessage":{"description":"Retrieve Differential commit messages or message templates.","params":{"revision_id":"optional revision_id","fields":"optional dict\u003cstring, wild\u003e","edit":"optional string-constant\u003c\"edit\", \"create\"\u003e"},"return":"nonempty string"},"differential.getcommitpaths":{"description":"Query which paths should be included when committing a Differential revision.","params":{"revision_id":"required int"},"return":"nonempty list\u003cstring\u003e"},"differential.getrawdiff":{"description":"Retrieve a raw diff","params":{"diffID":"required diffID"},"return":"nonempty string"},"differential.parsecommitmessage":{"description":"Parse commit messages for Differential fields.","params":{"corpus":"required string","partial":"optional bool"},"return":"nonempty dict"},"differential.query":{"description":"Query Differential revisions which match certain criteria.","params":{"authors":"optional list\u003cphid\u003e","ccs":"optional list\u003cphid\u003e","reviewers":"optional list\u003cphid\u003e","paths":"optional list\u003cpair\u003ccallsign, path\u003e\u003e","commitHashes":"optional list\u003cpair\u003cstring-constant\u003c\"gtcm\", \"gttr\", \"hgcm\"\u003e, string\u003e\u003e","status":"optional string-constant\u003c\"status-any\", \"status-open\", \"status-accepted\", \"status-closed\"\u003e","order":"optional string-constant\u003c\"order-modified\", \"order-created\"\u003e","limit":"optional uint","offset":"optional uint","ids":"optional list\u003cuint\u003e","phids":"optional list\u003cphid\u003e","subscribers":"optional list\u003cphid\u003e","responsibleUsers":"optional list\u003cphid\u003e","branches":"optional list\u003cstring\u003e"},"return":"list\u003cdict\u003e"},"differential.querydiffs":{"description":"Query differential diffs which match certain criteria.","params":{"ids":"optional list\u003cuint\u003e","revisionIDs":"optional list\u003cuint\u003e"},"return":"list\u003cdict\u003e"},"differential.setdiffproperty":{"description":"Attach properties to Differential diffs.","params":{"diff_id":"required diff_id","name":"required string","data":"required string"},"return":"void"},"differential.updaterevision":{"description":"Update a Differential revision.","params":{"id":"required revisionid","diffid":"required diffid","fields":"required dict","message":"required string"},"return":"nonempty dict"},"differential.revision.search":{"description":"This is a standard **ApplicationSearch** method which will let you list, query, or search for objects. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Search+Endpoints&type=article&jump=1 | Conduit API: Using Search Endpoints ]]**.","params":{"queryKey":"optional string","constraints":"optional map\u003cstring, wild\u003e","attachments":"optional map\u003cstring, bool\u003e","order":"optional order","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"map\u003cstring, wild\u003e"},"differential.find":{"description":"Query Differential revisions which match certain criteria.","params":{"query":"required string-constant\u003c\"open\", \"committable\", \"revision-ids\", \"phids\"\u003e","guids":"required nonempty list\u003cguids\u003e"},"return":"nonempty list\u003cdict\u003e"},"differential.getalldiffs":{"description":"Load all diffs for given revisions from Differential.","params":{"revision_ids":"required list\u003cint\u003e"},"return":"dict"},"differential.getdiff":{"description":"Load the content of a diff from Differential by revision ID or diff ID.","params":{"revision_id":"optional id","diff_id":"optional id"},"return":"nonempty dict"},"differential.getrevision":{"description":"Load the content of a revision from Differential.","params":{"revision_id":"required id"},"return":"nonempty dict"},"differential.getrevisioncomments":{"description":"Retrieve Differential Revision Comments.","params":{"ids":"required list\u003cint\u003e","inlines":"optional bool (deprecated)"},"return":"nonempty list\u003cdict\u003cstring, wild\u003e\u003e"},"diffusion.findsymbols":{"description":"Retrieve Diffusion symbol information.","params":{"name":"optional string","namePrefix":"optional string","context":"optional string","language":"optional string","type":"optional string","repositoryPHID":"optional string"},"return":"nonempty list\u003cdict\u003e"},"diffusion.getrecentcommitsbypath":{"description":"Get commit identifiers for recent commits affecting a given path.","params":{"callsign":"required string","path":"required string","branch":"optional string","limit":"optional int"},"return":"nonempty list\u003cstring\u003e"},"diffusion.querycommits":{"description":"Retrieve information about commits.","params":{"ids":"optional list\u003cint\u003e","phids":"optional list\u003cphid\u003e","names":"optional list\u003cstring\u003e","repositoryPHID":"optional phid","needMessages":"optional bool","bypassCache":"optional bool","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"map\u003cstring, dict\u003e"},"diffusion.blame":{"description":"Get blame information for a list of paths.","params":{"paths":"required list\u003cstring\u003e","commit":"required string","timeout":"optional int","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"map\u003cstring, wild\u003e"},"diffusion.branchquery":{"description":"Determine what branches exist for a repository.","params":{"closed":"optional bool","limit":"optional int","offset":"optional int","contains":"optional string","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"list\u003cdict\u003e"},"diffusion.browsequery":{"description":"File(s) information for a repository at an (optional) path and (optional) commit.","params":{"path":"optional string","commit":"optional string","needValidityOnly":"optional bool","limit":"optional int","offset":"optional int","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"array"},"diffusion.commitparentsquery":{"description":"Get the commit identifiers for a commit's parent or parents.","params":{"commit":"required string","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"list\u003cstring\u003e"},"diffusion.diffquery":{"description":"Get diff information from a repository for a specific path at an (optional) commit.","params":{"path":"required string","commit":"optional string","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"array"},"diffusion.existsquery":{"description":"Determine if code exists in a version control system.","params":{"commit":"required string","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"bool"},"diffusion.filecontentquery":{"description":"Retrieve file content from a repository.","params":{"path":"required string","commit":"required string","timeout":"optional int","byteLimit":"optional int","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"array"},"diffusion.getlintmessages":{"description":"Get lint messages for existing code.","params":{"repositoryPHID":"required phid","branch":"required string","commit":"optional string","files":"required list\u003cstring\u003e"},"return":"list\u003cdict\u003e"},"diffusion.historyquery":{"description":"Returns history information for a repository at a specific commit and path.","params":{"commit":"required string","path":"required string","offset":"required int","limit":"required int","needDirectChanges":"optional bool","needChildChanges":"optional bool","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"array"},"diffusion.internal.gitrawdiffquery":{"description":"Internal method for getting raw diff information.","params":{"commit":"required string","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"string"},"diffusion.lastmodifiedquery":{"description":"Get the commits at which paths were last modified.","params":{"paths":"required map\u003cstring, string\u003e","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"map\u003cstring, string\u003e"},"diffusion.looksoon":{"description":"Advises Phabricator to look for new commits in a repository as soon as possible. This advice is most useful if you have just pushed new commits to that repository.","params":{"callsigns":"optional list\u003cstring\u003e (deprecated)","repositories":"optional list\u003cstring\u003e","urgency":"optional string"},"return":"void"},"diffusion.mergedcommitsquery":{"description":"Merged commit information for a specific commit in a repository.","params":{"commit":"required string","limit":"optional int","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"array"},"diffusion.querypaths":{"description":"Filename search on a repository.","params":{"path":"required string","commit":"required string","pattern":"optional string","limit":"optional int","offset":"optional int","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"list\u003cstring\u003e"},"diffusion.rawdiffquery":{"description":"Get raw diff information from a repository for a specific commit at an (optional) path.","params":{"commit":"required string","path":"optional string","timeout":"optional int","byteLimit":"optional int","linesOfContext":"optional int","againstCommit":"optional string","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"string"},"diffusion.refsquery":{"description":"Query a git repository for ref information at a specific commit.","params":{"commit":"required string","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"array"},"diffusion.repository.edit":{"description":"This is a standard **ApplicationEditor** method which allows you to create and modify objects by applying transactions. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Edit+Endpoints&type=article&jump=1 | Conduit API: Using Edit Endpoints ]]**.","params":{"transactions":"list\u003cmap\u003cstring, wild\u003e\u003e","objectIdentifier":"optional id|phid|string"},"return":"map\u003cstring, wild\u003e"},"diffusion.repository.search":{"description":"This is a standard **ApplicationSearch** method which will let you list, query, or search for objects. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Search+Endpoints&type=article&jump=1 | Conduit API: Using Search Endpoints ]]**.","params":{"queryKey":"optional string","constraints":"optional map\u003cstring, wild\u003e","attachments":"optional map\u003cstring, bool\u003e","order":"optional order","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"map\u003cstring, wild\u003e"},"diffusion.resolverefs":{"description":"Resolve references into stable, canonical identifiers.","params":{"refs":"required list\u003cstring\u003e","types":"optional list\u003cstring\u003e","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"dict\u003cstring, list\u003cdict\u003cstring, wild\u003e\u003e\u003e"},"diffusion.searchquery":{"description":"Search (grep) a repository at a specific path and commit.","params":{"path":"required string","commit":"optional string","grep":"required string","limit":"optional int","offset":"optional int","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"array"},"diffusion.tagsquery":{"description":"Retrieve information about tags in a repository.","params":{"names":"optional list\u003cstring\u003e","commit":"optional string","needMessages":"optional bool","offset":"optional int","limit":"optional int","callsign":"optional string (deprecated)","repository":"optional string","branch":"optional string"},"return":"array"},"diffusion.updatecoverage":{"description":"Publish coverage information for a repository.","params":{"repositoryPHID":"required phid","branch":"required string","commit":"required string","coverage":"required map\u003cstring, string\u003e","mode":"optional string-constant\u003c\"overwrite\", \"update\"\u003e"},"return":"void"},"diffusion.uri.edit":{"description":"This is a standard **ApplicationEditor** method which allows you to create and modify objects by applying transactions. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Edit+Endpoints&type=article&jump=1 | Conduit API: Using Edit Endpoints ]]**.","params":{"transactions":"list\u003cmap\u003cstring, wild\u003e\u003e","objectIdentifier":"optional id|phid|string"},"return":"map\u003cstring, wild\u003e"},"diffusion.createcomment":{"description":"Add a comment to a Diffusion commit. By specifying an action of \"concern\", \"accept\", \"resign\", or \"close\", auditing actions can be triggered. Defaults to \"comment\".","params":{"phid":"required string","action":"optional string","message":"required string","silent":"optional bool"},"return":"bool"},"feed.publish":{"description":"Publish a story to the feed.","params":{"type":"required string","data":"required dict","time":"optional int"},"return":"nonempty phid"},"feed.query":{"description":"Query the feed for stories","params":{"filterPHIDs":"optional list \u003cphid\u003e","limit":"optional int (default 100)","after":"optional int","before":"optional int","view":"optional string (data, html, html-summary, text)"},"return":"nonempty dict"},"file.allocate":{"description":"Prepare to upload a file.","params":{"name":"string","contentLength":"int","contentHash":"optional string","viewPolicy":"optional string","deleteAfterEpoch":"optional int"},"return":"map\u003cstring, wild\u003e"},"file.download":{"description":"Download a file from the server.","params":{"phid":"required phid"},"return":"nonempty base64-bytes"},"file.info":{"description":"Get information about a file.","params":{"phid":"optional phid","id":"optional id"},"return":"nonempty dict"},"file.querychunks":{"description":"Get information about file chunks.","params":{"filePHID":"phid"},"return":"list\u003cwild\u003e"},"file.upload":{"description":"Upload a file to the server.","params":{"data_base64":"required nonempty base64-bytes","name":"optional string","viewPolicy":"optional valid policy string or \u003cphid\u003e","canCDN":"optional bool"},"return":"nonempty guid"},"file.uploadchunk":{"description":"Upload a chunk of file data to the server.","params":{"filePHID":"phid","byteStart":"int","data":"string","dataEncoding":"string"},"return":"void"},"file.uploadhash":{"description":"Upload a file to the server using content hash.","params":{"hash":"required nonempty string","name":"required nonempty string"},"return":"phid or null"},"flag.delete":{"description":"Clear a flag.","params":{"id":"optional id","objectPHID":"optional phid"},"return":"dict | null"},"flag.edit":{"description":"Create or modify a flag.","params":{"objectPHID":"required phid","color":"optional int","note":"optional string"},"return":"dict"},"flag.query":{"description":"Query flag markers.","params":{"ownerPHIDs":"optional list\u003cphid\u003e","types":"optional list\u003ctype\u003e","objectPHIDs":"optional list\u003cphid\u003e","offset":"optional int","limit":"optional int (default = 100)"},"return":"list\u003cdict\u003e"},"harbormaster.createartifact":{"description":"Use this method to attach artifacts to build targets while running builds. Artifacts can be used to carry data through a complex build workflow, provide extra information to users, or store build results.\n\nWhen creating an artifact, you will choose an `artifactType` from this table. These types of artifacts are supported:\n| Artifact Type | Name | Summary |\n|-------------|--------------|--------------|\n| `host` | **Drydock Host** | References a host lease from Drydock. |\n| `working-copy` | **Drydock Working Copy** | References a working copy lease from Drydock. |\n| `file` | **File** | Stores a reference to file data which has been uploaded to Phabricator. |\n| `uri` | **URI** | Stores a URI. |\n\nEach artifact also needs an `artifactKey`, which names the artifact. Finally, you will provide some `artifactData` to fill in the content of the artifact. The data you provide depends on what type of artifact you are creating.\nDrydock Host\n--------------------------\n\nReferences a host lease from Drydock.\n\nCreate an artifact of this type by passing `host` as the `artifactType`. When creating an artifact of this type, provide these parameters as a dictionary to `artifactData`:\n| Key | Type | Description |\n|-------------|--------------|--------------|\n| `drydockLeasePHID` | \/\/string\/\/ | Drydock working copy lease to create an artifact from. |\nFor example:\n```lang=json\n{\n  \"drydockLeasePHID\": \"PHID-DRYL-abcdefghijklmnopqrst\"\n}\n\n```\nDrydock Working Copy\n--------------------------\n\nReferences a working copy lease from Drydock.\n\nCreate an artifact of this type by passing `working-copy` as the `artifactType`. When creating an artifact of this type, provide these parameters as a dictionary to `artifactData`:\n| Key | Type | Description |\n|-------------|--------------|--------------|\n| `drydockLeasePHID` | \/\/string\/\/ | Drydock working copy lease to create an artifact from. |\nFor example:\n```lang=json\n{\n  \"drydockLeasePHID\": \"PHID-DRYL-abcdefghijklmnopqrst\"\n}\n\n```\nFile\n--------------------------\n\nStores a reference to file data which has been uploaded to Phabricator.\n\nCreate an artifact of this type by passing `file` as the `artifactType`. When creating an artifact of this type, provide these parameters as a dictionary to `artifactData`:\n| Key | Type | Description |\n|-------------|--------------|--------------|\n| `filePHID` | \/\/string\/\/ | File to create an artifact from. |\nFor example:\n```lang=json\n{\n  \"filePHID\": \"PHID-FILE-abcdefghijklmnopqrst\"\n}\n\n```\nURI\n--------------------------\n\nStores a URI.\n\nWith `ui.external`, you can use this artifact type to add links to build results in an external build system.\n\nCreate an artifact of this type by passing `uri` as the `artifactType`. When creating an artifact of this type, provide these parameters as a dictionary to `artifactData`:\n| Key | Type | Description |\n|-------------|--------------|--------------|\n| `uri` | \/\/string\/\/ | The URI to store. |\n| `name` | \/\/optional string\/\/ | Optional label for this URI. |\n| `ui.external` | \/\/optional bool\/\/ | If true, display this URI in the UI as an link to additional build details in an external build system. |\nFor example:\n```lang=json\n{\n  \"uri\": \"https:\/\/buildserver.mycompany.com\/build\/123\/\",\n  \"name\": \"View External Build Results\",\n  \"ui.external\": true\n}\n\n```","params":{"buildTargetPHID":"phid","artifactKey":"string","artifactType":"string","artifactData":"map\u003cstring, wild\u003e"},"return":"wild"},"harbormaster.queryautotargets":{"description":"Load or create build autotargets.","params":{"objectPHID":"phid","targetKeys":"list\u003cstring\u003e"},"return":"map\u003cstring, phid\u003e"},"harbormaster.querybuildables":{"description":"Query Harbormaster buildables.","params":{"ids":"optional list\u003cid\u003e","phids":"optional list\u003cphid\u003e","buildablePHIDs":"optional list\u003cphid\u003e","containerPHIDs":"optional list\u003cphid\u003e","manualBuildables":"optional bool","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"wild"},"harbormaster.querybuilds":{"description":"Query Harbormaster builds.","params":{"ids":"optional list\u003cid\u003e","phids":"optional list\u003cphid\u003e","buildStatuses":"optional list\u003cstring\u003e","buildablePHIDs":"optional list\u003cphid\u003e","buildPlanPHIDs":"optional list\u003cphid\u003e","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"wild"},"harbormaster.sendmessage":{"description":"Send a message about the status of a build target to Harbormaster, notifying the application of build results in an external system.\n\nSending Messages\n================\nIf you run external builds, you can use this method to publish build results back into Harbormaster after the external system finishes work or as it makes progress.\n\nThe simplest way to use this method is to call it once after the build finishes with a `pass` or `fail` message. This will record the build result, and continue the next step in the build if the build was waiting for a result.\n\nWhen you send a status message about a build target, you can optionally include detailed `lint` or `unit` results alongside the message. See below for details.\n\nIf you want to report intermediate results but a build hasn't completed yet, you can use the `work` message. This message doesn't have any direct effects, but allows you to send additional data to update the progress of the build target. The target will continue waiting for a completion message, but the UI will update to show the progress which has been made.\n\nMessage Types\n=============\nWhen you send Harbormaster a message, you must include a `type`, which describes the overall state of the build. For example, use `pass` to tell Harbomaster that a build completed successfully.\n\nSupported message types are:\n\n| Type | Description |\n|--------------|--------------|\n| `pass` | Report that the target is complete, and the target has passed. |\n| `fail` | Report that the target is complete, and the target has failed. |\n| `work` | Report that work on the target is ongoing. This message can be used to report partial results during a build. |\n\nUnit Results\n============\nYou can report test results alongside a message. The simplest way to do this is to report all the results alongside a `pass` or `fail` message, but you can also send a `work` message to report intermediate results.\n\nTo provide unit test results, pass a list of results in the `unit` parameter. Each result shoud be a dictionary with these keys:\n\n| Key | Type | Description |\n|-------------|--------------|--------------|\n| `name` | \/\/string\/\/ | Short test name, like \"ExampleTest\". |\n| `result` | \/\/string\/\/ | Result of the test. |\n| `namespace` | \/\/optional string\/\/ | Optional namespace for this test. This is organizational and is often a class or module name, like \"ExampleTestCase\". |\n| `engine` | \/\/optional string\/\/ | Test engine running the test, like \"JavascriptTestEngine\". This primarily prevents collisions between tests with the same name in different test suites (for example, a Javascript test and a Python test). |\n| `duration` | \/\/optional float or int\/\/ | Runtime duration of the test, in seconds. |\n| `path` | \/\/optional string\/\/ | Path to the file where the test is declared, relative to the project root. |\n| `coverage` | \/\/optional map\u003cstring, wild\u003e\/\/ | Coverage information for this test. |\n| `details` | \/\/optional string\/\/ | Additional human-readable information about the failure. |\n\nThe `result` parameter recognizes these test results:\n\n| Key | Name | Description |\n|-------------|--------------|--------------|\n| `pass` | **Pass** | The test passed. |\n| `fail` | **Fail** | The test failed. |\n| `skip` | **Skip** | The test was not executed. |\n| `broken` | **Broken** | The test failed in an abnormal or severe way. For example, the harness crashed instead of reporting a failure. |\n| `unsound` | **Unsound** | The test failed, but this change is probably not what broke it. For example, it might have already been failing. |\n\nThis is a simple, valid value for the `unit` parameter. It reports one passing test and one failing test:\n\n\n\n```lang=json\n[\n  {\n    \"name\": \"PassingTest\",\n    \"result\": \"pass\"\n  },\n  {\n    \"name\": \"FailingTest\",\n    \"result\": \"fail\"\n  }\n]\n```\n\nLint Results\n============\nLike unit test results, you can report lint results alongside a message. The `lint` parameter should contain results as a list of dictionaries with these keys:\n\n| Key | Type | Description |\n|-------------|--------------|--------------|\n| `name` | \/\/string\/\/ | Short message name, like \"Syntax Error\". |\n| `code` | \/\/string\/\/ | Lint message code identifying the type of message, like \"ERR123\". |\n| `severity` | \/\/string\/\/ | Severity of the message. |\n| `path` | \/\/string\/\/ | Path to the file containing the lint message, from the project root. |\n| `line` | \/\/optional int\/\/ | Line number in the file where the text which triggered the message first appears. The first line of the file is line 1, not line 0. |\n| `char` | \/\/optional int\/\/ | Byte position on the line where the text which triggered the message starts. The first byte on the line is byte 1, not byte 0. This position is byte-based (not character-based) because not all lintable files have a valid character encoding. |\n| `description` | \/\/optional string\/\/ | Long explanation of the lint message. |\n\nThe `severity` parameter recognizes these severity levels:\n\n| Key | Name |\n|-------------|--------------|\n| `advice` | **Advice** |\n| `autofix` | **Auto-Fix** |\n| `warning` | **Warning** |\n| `error` | **Error** |\n| `disabled` | **Disabled** |\n\nThis is a simple, valid value for the `lint` parameter. It reports one error and one warning:\n\n```lang=json\n[\n  {\n    \"name\": \"Syntax Error\",\n    \"code\": \"EXAMPLE1\",\n    \"severity\": \"error\",\n    \"path\": \"path\/to\/example.c\",\n    \"line\": 17,\n    \"char\": 3\n  },\n  {\n    \"name\": \"Not A Haiku\",\n    \"code\": \"EXAMPLE2\",\n    \"severity\": \"error\",\n    \"path\": \"path\/to\/source.cpp\",\n    \"line\": 23,\n    \"char\": 1,\n    \"description\": \"This function definition is not a haiku.\"\n  }\n]\n```\n\n","params":{"buildTargetPHID":"required phid","type":"required string-constant\u003c\"pass\", \"fail\", \"work\"\u003e","unit":"optional list\u003cwild\u003e","lint":"optional list\u003cwild\u003e"},"return":"void"},"macro.query":{"description":"Retrieve image macro information.","params":{"authorPHIDs":"optional list\u003cphid\u003e","phids":"optional list\u003cphid\u003e","ids":"optional list\u003cid\u003e","names":"optional list\u003cstring\u003e","nameLike":"optional string"},"return":"list\u003cdict\u003e"},"macro.creatememe":{"description":"Generate a meme.","params":{"macroName":"string","upperText":"optional string","lowerText":"optional string"},"return":"string"},"maniphest.createtask":{"description":"Create a new Maniphest task.","params":{"title":"required string","description":"optional string","ownerPHID":"optional phid","viewPolicy":"optional phid or policy string","editPolicy":"optional phid or policy string","ccPHIDs":"optional list\u003cphid\u003e","priority":"optional int","projectPHIDs":"optional list\u003cphid\u003e","auxiliary":"optional dict"},"return":"nonempty dict"},"maniphest.gettasktransactions":{"description":"Retrieve Maniphest task transactions.","params":{"ids":"required list\u003cint\u003e"},"return":"nonempty list\u003cdict\u003cstring, wild\u003e\u003e"},"maniphest.info":{"description":"Retrieve information about a Maniphest task, given its ID.","params":{"task_id":"required id"},"return":"nonempty dict"},"maniphest.query":{"description":"Execute complex searches for Maniphest tasks.","params":{"ids":"optional list\u003cuint\u003e","phids":"optional list\u003cphid\u003e","ownerPHIDs":"optional list\u003cphid\u003e","authorPHIDs":"optional list\u003cphid\u003e","projectPHIDs":"optional list\u003cphid\u003e","ccPHIDs":"optional list\u003cphid\u003e","fullText":"optional string","status":"optional string-constant\u003c\"status-any\", \"status-open\", \"status-closed\", \"status-resolved\", \"status-wontfix\", \"status-invalid\", \"status-spite\", \"status-duplicate\"\u003e","order":"optional string-constant\u003c\"order-priority\", \"order-created\", \"order-modified\"\u003e","limit":"optional int","offset":"optional int"},"return":"list"},"maniphest.querystatuses":{"description":"Retrieve information about possible Maniphest task status values.","params":[],"return":"nonempty dict\u003cstring, wild\u003e"},"maniphest.update":{"description":"Update an existing Maniphest task.","params":{"id":"optional int","phid":"optional int","title":"optional string","description":"optional string","ownerPHID":"optional phid","viewPolicy":"optional phid or policy string","editPolicy":"optional phid or policy string","ccPHIDs":"optional list\u003cphid\u003e","priority":"optional int","projectPHIDs":"optional list\u003cphid\u003e","auxiliary":"optional dict","status":"optional string","comments":"optional string"},"return":"nonempty dict"},"maniphest.edit":{"description":"This is a standard **ApplicationEditor** method which allows you to create and modify objects by applying transactions. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Edit+Endpoints&type=article&jump=1 | Conduit API: Using Edit Endpoints ]]**.","params":{"transactions":"list\u003cmap\u003cstring, wild\u003e\u003e","objectIdentifier":"optional id|phid|string"},"return":"map\u003cstring, wild\u003e"},"maniphest.search":{"description":"This is a standard **ApplicationSearch** method which will let you list, query, or search for objects. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Search+Endpoints&type=article&jump=1 | Conduit API: Using Search Endpoints ]]**.","params":{"queryKey":"optional string","constraints":"optional map\u003cstring, wild\u003e","attachments":"optional map\u003cstring, bool\u003e","order":"optional order","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"map\u003cstring, wild\u003e"},"owners.edit":{"description":"This is a standard **ApplicationEditor** method which allows you to create and modify objects by applying transactions. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Edit+Endpoints&type=article&jump=1 | Conduit API: Using Edit Endpoints ]]**.","params":{"transactions":"list\u003cmap\u003cstring, wild\u003e\u003e","objectIdentifier":"optional id|phid|string"},"return":"map\u003cstring, wild\u003e"},"owners.search":{"description":"This is a standard **ApplicationSearch** method which will let you list, query, or search for objects. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Search+Endpoints&type=article&jump=1 | Conduit API: Using Search Endpoints ]]**.","params":{"queryKey":"optional string","constraints":"optional map\u003cstring, wild\u003e","attachments":"optional map\u003cstring, bool\u003e","order":"optional order","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"map\u003cstring, wild\u003e"},"owners.query":{"description":"Query for Owners packages. Obsoleted by \"owners.search\".","params":{"userOwner":"optional string","projectOwner":"optional string","userAffiliated":"optional string","repositoryCallsign":"optional string","path":"optional string"},"return":"dict\u003cphid -\u003e dict of package info\u003e"},"passphrase.query":{"description":"Query credentials.","params":{"ids":"optional list\u003cint\u003e","phids":"optional list\u003cphid\u003e","needSecrets":"optional bool","needPublicKeys":"optional bool","order":"optional order","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"list\u003cdict\u003e"},"paste.create":{"description":"Create a new paste.","params":{"content":"required string","title":"optional string","language":"optional string"},"return":"nonempty dict"},"paste.query":{"description":"Query Pastes.","params":{"ids":"optional list\u003cint\u003e","phids":"optional list\u003cphid\u003e","authorPHIDs":"optional list\u003cphid\u003e","after":"optional int","limit":"optional int, default = 100"},"return":"list\u003cdict\u003e"},"paste.edit":{"description":"This is a standard **ApplicationEditor** method which allows you to create and modify objects by applying transactions. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Edit+Endpoints&type=article&jump=1 | Conduit API: Using Edit Endpoints ]]**.","params":{"transactions":"list\u003cmap\u003cstring, wild\u003e\u003e","objectIdentifier":"optional id|phid|string"},"return":"map\u003cstring, wild\u003e"},"paste.search":{"description":"This is a standard **ApplicationSearch** method which will let you list, query, or search for objects. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Search+Endpoints&type=article&jump=1 | Conduit API: Using Search Endpoints ]]**.","params":{"queryKey":"optional string","constraints":"optional map\u003cstring, wild\u003e","attachments":"optional map\u003cstring, bool\u003e","order":"optional order","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"map\u003cstring, wild\u003e"},"paste.info":{"description":"Retrieve an array of information about a paste.","params":{"paste_id":"required id"},"return":"nonempty dict"},"phame.blog.edit":{"description":"This is a standard **ApplicationEditor** method which allows you to create and modify objects by applying transactions. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Edit+Endpoints&type=article&jump=1 | Conduit API: Using Edit Endpoints ]]**.","params":{"transactions":"list\u003cmap\u003cstring, wild\u003e\u003e","objectIdentifier":"optional id|phid|string"},"return":"map\u003cstring, wild\u003e"},"phame.blog.search":{"description":"This is a standard **ApplicationSearch** method which will let you list, query, or search for objects. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Search+Endpoints&type=article&jump=1 | Conduit API: Using Search Endpoints ]]**.","params":{"queryKey":"optional string","constraints":"optional map\u003cstring, wild\u003e","attachments":"optional map\u003cstring, bool\u003e","order":"optional order","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"map\u003cstring, wild\u003e"},"phame.post.edit":{"description":"This is a standard **ApplicationEditor** method which allows you to create and modify objects by applying transactions. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Edit+Endpoints&type=article&jump=1 | Conduit API: Using Edit Endpoints ]]**.","params":{"transactions":"list\u003cmap\u003cstring, wild\u003e\u003e","objectIdentifier":"optional id|phid|string"},"return":"map\u003cstring, wild\u003e"},"phame.post.search":{"description":"This is a standard **ApplicationSearch** method which will let you list, query, or search for objects. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Search+Endpoints&type=article&jump=1 | Conduit API: Using Search Endpoints ]]**.","params":{"queryKey":"optional string","constraints":"optional map\u003cstring, wild\u003e","attachments":"optional map\u003cstring, bool\u003e","order":"optional order","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"map\u003cstring, wild\u003e"},"phid.lookup":{"description":"Look up objects by name.","params":{"names":"required list\u003cstring\u003e"},"return":"nonempty dict\u003cstring, wild\u003e"},"phid.query":{"description":"Retrieve information about arbitrary PHIDs.","params":{"phids":"required list\u003cphid\u003e"},"return":"nonempty dict\u003cstring, wild\u003e"},"phid.info":{"description":"Retrieve information about an arbitrary PHID.","params":{"phid":"required phid"},"return":"nonempty dict\u003cstring, wild\u003e"},"phragment.getpatch":{"description":"Retrieve the patches to apply for a given set of files.","params":{"path":"required string","state":"required dict\u003cstring, string\u003e"},"return":"nonempty dict"},"phragment.queryfragments":{"description":"Query fragments based on their paths.","params":{"paths":"required list\u003cstring\u003e"},"return":"nonempty dict"},"phriction.create":{"description":"Create a Phriction document.","params":{"slug":"required string","title":"required string","content":"required string","description":"optional string"},"return":"nonempty dict"},"phriction.edit":{"description":"Update a Phriction document.","params":{"slug":"required string","title":"optional string","content":"optional string","description":"optional string"},"return":"nonempty dict"},"phriction.history":{"description":"Retrieve history about a Phriction document.","params":{"slug":"required string"},"return":"nonempty list"},"phriction.info":{"description":"Retrieve information about a Phriction document.","params":{"slug":"required string"},"return":"nonempty dict"},"project.create":{"description":"Create a project.","params":{"name":"required string","members":"optional list\u003cphid\u003e","icon":"optional string","color":"optional string","tags":"optional list\u003cstring\u003e"},"return":"dict"},"project.query":{"description":"Execute searches for Projects.","params":{"ids":"optional list\u003cint\u003e","names":"optional list\u003cstring\u003e","phids":"optional list\u003cphid\u003e","slugs":"optional list\u003cstring\u003e","icons":"optional list\u003cstring\u003e","colors":"optional list\u003cstring\u003e","status":"optional string-constant\u003c\"status-any\", \"status-open\", \"status-closed\", \"status-active\", \"status-archived\"\u003e","members":"optional list\u003cphid\u003e","limit":"optional int","offset":"optional int"},"return":"list"},"project.edit":{"description":"This is a standard **ApplicationEditor** method which allows you to create and modify objects by applying transactions. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Edit+Endpoints&type=article&jump=1 | Conduit API: Using Edit Endpoints ]]**.","params":{"transactions":"list\u003cmap\u003cstring, wild\u003e\u003e","objectIdentifier":"optional id|phid|string"},"return":"map\u003cstring, wild\u003e"},"project.search":{"description":"This is a standard **ApplicationSearch** method which will let you list, query, or search for objects. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Search+Endpoints&type=article&jump=1 | Conduit API: Using Search Endpoints ]]**.","params":{"queryKey":"optional string","constraints":"optional map\u003cstring, wild\u003e","attachments":"optional map\u003cstring, bool\u003e","order":"optional order","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"map\u003cstring, wild\u003e"},"releeph.getbranches":{"description":"Return information about all active Releeph branches.","params":[],"return":"nonempty list\u003cdict\u003cstring, wild\u003e\u003e"},"releeph.querybranches":{"description":"Query information about Releeph branches.","params":{"ids":"optional list\u003cid\u003e","phids":"optional list\u003cphid\u003e","productPHIDs":"optional list\u003cphid\u003e","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"query-results"},"releeph.queryproducts":{"description":"Query information about Releeph products.","params":{"ids":"optional list\u003cid\u003e","phids":"optional list\u003cphid\u003e","repositoryPHIDs":"optional list\u003cphid\u003e","isActive":"optional bool","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"query-results"},"releeph.queryrequests":{"description":"Return information about all Releeph requests linked to the given ids.","params":{"revisionPHIDs":"optional list\u003cphid\u003e","requestedCommitPHIDs":"optional list\u003cphid\u003e"},"return":"dict\u003cstring, wild\u003e"},"releeph.request":{"description":"Request a commit or diff to be picked to a branch.","params":{"branchPHID":"required string","things":"required list\u003cstring\u003e","fields":"dict\u003cstring, string\u003e"},"return":"dict\u003cstring, wild\u003e"},"releephwork.canpush":{"description":"Return whether the conduit user is allowed to push.","params":{"projectPHID":"required string"},"return":"bool"},"releephwork.getauthorinfo":{"description":"Return a string to use as the VCS author.","params":{"userPHID":"required string","vcsType":"required string"},"return":"nonempty string"},"releephwork.getbranch":{"description":"Return information to help checkout \/ cut a Releeph branch.","params":{"branchPHID":"required string"},"return":"dict\u003cstring, wild\u003e"},"releephwork.getbranchcommitmessage":{"description":"Get a commit message for committing a Releeph branch.","params":{"branchPHID":"required string"},"return":"nonempty string"},"releephwork.getcommitmessage":{"description":"Get commit message components for building a ReleephRequest commit message.","params":{"requestPHID":"required string","action":"required string-constant\u003c\"pick\", \"revert\"\u003e"},"return":"dict\u003cstring, string\u003e"},"releephwork.nextrequest":{"description":"Return info required to cut a branch, and pick and revert ReleephRequests.","params":{"branchPHID":"required phid","seen":"required map\u003cstring, bool\u003e"},"return":""},"releephwork.record":{"description":"Record whether we committed a pick or revert to the upstream repository.","params":{"requestPHID":"required string","action":"required string-constant\u003c\"pick\", \"revert\"\u003e","commitIdentifier":"required string"},"return":"void"},"releephwork.recordpickstatus":{"description":"Record whether a pick or revert was successful or not.","params":{"requestPHID":"required string","action":"required string-constant\u003c\"pick\", \"revert\"\u003e","ok":"required bool","dryRun":"optional bool","details":"optional dict\u003cstring, wild\u003e"},"return":""},"remarkup.process":{"description":"Process text through remarkup in Phabricator context.","params":{"context":"required string-constant\u003c\"phriction\", \"maniphest\", \"differential\", \"phame\", \"feed\", \"diffusion\"\u003e","contents":"required list\u003cstring\u003e"},"return":"nonempty dict"},"repository.query":{"description":"Query repositories.","params":{"ids":"optional list\u003cint\u003e","phids":"optional list\u003cphid\u003e","callsigns":"optional list\u003cstring\u003e","vcsTypes":"optional list\u003cstring\u003e","remoteURIs":"optional list\u003cstring\u003e","uuids":"optional list\u003cstring\u003e","order":"optional order","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"list\u003cdict\u003e"},"slowvote.info":{"description":"Retrieve an array of information about a poll.","params":{"poll_id":"required id"},"return":"nonempty dict"},"token.give":{"description":"Give or change a token.","params":{"tokenPHID":"phid|null","objectPHID":"phid"},"return":"void"},"token.given":{"description":"Query tokens given to objects.","params":{"authorPHIDs":"list\u003cphid\u003e","objectPHIDs":"list\u003cphid\u003e","tokenPHIDs":"list\u003cphid\u003e"},"return":"list\u003cdict\u003e"},"token.query":{"description":"Query tokens.","params":[],"return":"list\u003cdict\u003e"},"user.disable":{"description":"Permanently disable specified users (admin only).","params":{"phids":"required list\u003cphid\u003e"},"return":"void"},"user.enable":{"description":"Re-enable specified users (admin only).","params":{"phids":"required list\u003cphid\u003e"},"return":"void"},"user.query":{"description":"Query users.","params":{"usernames":"optional list\u003cstring\u003e","emails":"optional list\u003cstring\u003e","realnames":"optional list\u003cstring\u003e","phids":"optional list\u003cphid\u003e","ids":"optional list\u003cuint\u003e","offset":"optional int","limit":"optional int (default = 100)"},"return":"list\u003cdict\u003e"},"user.whoami":{"description":"Retrieve information about the logged-in user.","params":[],"return":"nonempty dict\u003cstring, wild\u003e"},"user.search":{"description":"This is a standard **ApplicationSearch** method which will let you list, query, or search for objects. For documentation on these endpoints, see **[[ https:\/\/secure.phabricator.com\/diviner\/find\/?name=Conduit+API%3A+Using+Search+Endpoints&type=article&jump=1 | Conduit API: Using Search Endpoints ]]**.","params":{"queryKey":"optional string","constraints":"optional map\u003cstring, wild\u003e","attachments":"optional map\u003cstring, bool\u003e","order":"optional order","before":"optional string","after":"optional string","limit":"optional int (default = 100)"},"return":"map\u003cstring, wild\u003e"},"user.find":{"description":"Lookup PHIDs by username. Obsoleted by \"user.query\".","params":{"aliases":"required list\u003cstring\u003e"},"return":"nonempty dict\u003cstring, phid\u003e"}}