Skip to main content

MEX / GraphQL

Execute WhatsApp internal GraphQL queries and mutations via the MEX (Meta Experience) API.

MEX Query

Execute a GraphQL query against WhatsApp's internal API.

POST /api/v1/sessions/{session_id}/mex/query

Request Body

{
"doc_id": "1234567890",
"variables": {
"key": "value"
}
}
FieldTypeRequiredDescription
doc_idstringYesGraphQL document ID
variablesobjectYesQuery variables as JSON

Response

{
"data": {
"result": "..."
},
"errors": null
}

On error:

{
"data": null,
"errors": [
{
"message": "Error description",
"error_code": 1234,
"is_retryable": false,
"severity": "ERROR"
}
]
}

Example

curl -X POST http://localhost:3451/api/v1/sessions/my-session/mex/query \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"doc_id": "1234567890",
"variables": {"input": {"key": "value"}}
}'

MEX Mutate

Execute a GraphQL mutation against WhatsApp's internal API.

POST /api/v1/sessions/{session_id}/mex/mutate

Request Body

{
"doc_id": "9876543210",
"variables": {
"input": {
"key": "value"
}
}
}
FieldTypeRequiredDescription
doc_idstringYesGraphQL document ID
variablesobjectYesMutation variables as JSON

Response

{
"data": {
"result": "..."
},
"errors": null
}

Example

curl -X POST http://localhost:3451/api/v1/sessions/my-session/mex/mutate \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"doc_id": "9876543210",
"variables": {"input": {"key": "value"}}
}'