{
  "info": {
    "_postman_id": "3f5afcb9-d98b-4290-ae33-2903e82bfd64",
    "name": "WhatsApp Call Verification API",
    "description": "Verify a phone number with ONE WhatsApp call. Your user calls your WhatsApp number from the number being verified; we answer, confirm the number, play a short message and hang up.\n\nSetup\n1. Open the collection Variables tab.\n2. Put your API key in `api_key` (the same key as the WhatsApp API, from your dashboard profile page).\n3. Put the number to verify in `number`, in international format (e.g. 923001234567).\n4. `base_url` is your account domain + /apps/whatsapp_call_verification (default: https://wa.sendpk.com/apps/whatsapp_call_verification).\n5. Optional: put your webhook URL in `callback_url` and run \"Start with a webhook\" to get events instead of polling.\n6. Run \"1. Start verification\" - the `id` is saved into `request_id` for you.\n7. Make the WhatsApp call to `call_to` from `number`, then run \"2. Check status\".\n\nThe API key goes in the Authorization header (set once on this collection). Never share this collection after filling it in.\n\nDocs: https://wa.sendpk.com/whatsapp_call_verification_api.php",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "apikey",
    "apikey": [
      {
        "key": "key",
        "value": "Authorization",
        "type": "string"
      },
      {
        "key": "value",
        "value": "{{api_key}}",
        "type": "string"
      },
      {
        "key": "in",
        "value": "header",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "base_url",
      "value": "https://wa.sendpk.com/apps/whatsapp_call_verification",
      "type": "string"
    },
    {
      "key": "api_key",
      "value": "YOUR-API-KEY",
      "type": "string"
    },
    {
      "key": "number",
      "value": "923001234567",
      "type": "string"
    },
    {
      "key": "request_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "whatsapp_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "audio_url",
      "value": "https://example.com/audio/welcome.mp3",
      "type": "string"
    },
    {
      "key": "idempotency_key",
      "value": "login-7f3a9c",
      "type": "string"
    },
    {
      "key": "callback_url",
      "value": "https://example.com/webhooks/whatsapp-call",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "Verify a number",
      "description": "The normal flow: start, let the user call, check the status.",
      "item": [
        {
          "name": "1. Start verification",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('Started', function () { pm.response.to.have.status(200); });",
                  "const body = pm.response.json();",
                  "if (body.success) {",
                  "    pm.collectionVariables.set('request_id', body.data.id);",
                  "    console.log('Call ' + body.data.call_to + ' on WhatsApp from ' + body.data.number + ' within ' + body.data.expires_in + ' seconds.');",
                  "} else {",
                  "    console.log(body.error.code + ': ' + body.error.message);",
                  "}"
                ]
              }
            }
          ],
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"{{number}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/start.php",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "start.php"
              ]
            },
            "description": "Starts a verification. The user then has 5 minutes to make a WhatsApp call to `call_to`, FROM `number`.\n\n`number` in international format, e.g. 923001234567 (+923001234567 and 03001234567 also work). The returned `id` is saved into the `request_id` variable for the next requests."
          },
          "response": [
            {
              "name": "Started (pending)",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"number\": \"{{number}}\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "url": {
                  "raw": "{{base_url}}/start.php",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "start.php"
                  ]
                },
                "description": "Starts a verification. The user then has 5 minutes to make a WhatsApp call to `call_to`, FROM `number`.\n\n`number` in international format, e.g. 923001234567 (+923001234567 and 03001234567 also work). The returned `id` is saved into the `request_id` variable for the next requests."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"01a12ed2-1dff-7f6d-aa29-1240cf92c058\",\n    \"status\": \"pending\",\n    \"verified\": false,\n    \"number\": \"+923001234567\",\n    \"call_to\": \"+923356742000\",\n    \"call_link\": \"https://wa.me/call/923356742000\",\n    \"created_at\": \"2026-10-12T11:34:44+05:00\",\n    \"expires_at\": \"2026-10-12T11:39:44+05:00\",\n    \"expires_in\": 300,\n    \"verified_at\": null,\n    \"audio\": \"default\",\n    \"price\": {\n      \"amount\": 1,\n      \"currency\": \"PKR\",\n      \"charged\": false,\n      \"charged_amount\": 0\n    },\n    \"call\": {\n      \"attempts\": 0,\n      \"rejected\": 0,\n      \"connected_seconds\": null,\n      \"last_call_at\": null\n    },\n    \"error\": null\n  },\n  \"meta\": {\n    \"request_id\": \"01a12ed2-1e02-7c11-9b2a-3c4d5e6f7a8b\"\n  }\n}"
            },
            {
              "name": "Insufficient balance",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"number\": \"{{number}}\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "url": {
                  "raw": "{{base_url}}/start.php",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "start.php"
                  ]
                },
                "description": "Starts a verification. The user then has 5 minutes to make a WhatsApp call to `call_to`, FROM `number`.\n\n`number` in international format, e.g. 923001234567 (+923001234567 and 03001234567 also work). The returned `id` is saved into the `request_id` variable for the next requests."
              },
              "status": "Payment Required",
              "code": 402,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INSUFFICIENT_BALANCE\",\n    \"message\": \"Insufficient balance for a call verification.\",\n    \"details\": {\n      \"price\": 1,\n      \"currency\": \"PKR\"\n    }\n  },\n  \"meta\": {\n    \"request_id\": \"01a12ed4-5b66-7e77-8f88-9a0b1c2d3e4f\"\n  }\n}"
            }
          ]
        },
        {
          "name": "2. Check status",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "const body = pm.response.json();",
                  "pm.test('Got a status', function () { pm.expect(body.success).to.eql(true); });",
                  "if (body.success) { console.log('Status: ' + body.data.status + (body.data.verified ? ' - VERIFIED' : '')); }"
                ]
              }
            }
          ],
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/status.php?id={{request_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "status.php"
              ],
              "query": [
                {
                  "key": "id",
                  "value": "{{request_id}}"
                }
              ]
            },
            "description": "Current state of a verification. Ask every 2-3 seconds while `status` is `pending`; it becomes `verified` when the call is picked up. If expires_in reaches 0, check Status: a call already in progress may still finish. Billing can finish later; price.charged_amount shows the actual debit. Webhook status can be none, pending, sent or failed. Stop at verified, failed, expired or cancelled."
          },
          "response": [
            {
              "name": "Waiting for the call",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{base_url}}/status.php?id={{request_id}}",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "status.php"
                  ],
                  "query": [
                    {
                      "key": "id",
                      "value": "{{request_id}}"
                    }
                  ]
                },
                "description": "Current state of a verification. Ask every 2-3 seconds while `status` is `pending`; it becomes `verified` when the call is picked up. If expires_in reaches 0, check Status: a call already in progress may still finish. Billing can finish later; price.charged_amount shows the actual debit. Webhook status can be none, pending, sent or failed. Stop at verified, failed, expired or cancelled."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"01a12ed2-1dff-7f6d-aa29-1240cf92c058\",\n    \"status\": \"pending\",\n    \"verified\": false,\n    \"number\": \"+923001234567\",\n    \"call_to\": \"+923356742000\",\n    \"call_link\": \"https://wa.me/call/923356742000\",\n    \"created_at\": \"2026-10-12T11:34:44+05:00\",\n    \"expires_at\": \"2026-10-12T11:39:44+05:00\",\n    \"expires_in\": 212,\n    \"verified_at\": null,\n    \"audio\": \"default\",\n    \"price\": {\n      \"amount\": 1,\n      \"currency\": \"PKR\",\n      \"charged\": false,\n      \"charged_amount\": 0\n    },\n    \"call\": {\n      \"attempts\": 0,\n      \"rejected\": 0,\n      \"connected_seconds\": null,\n      \"last_call_at\": null\n    },\n    \"error\": null\n  },\n  \"meta\": {\n    \"request_id\": \"01a12ed2-1e02-7c11-9b2a-3c4d5e6f7a8b\"\n  }\n}"
            },
            {
              "name": "Verified",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{base_url}}/status.php?id={{request_id}}",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "status.php"
                  ],
                  "query": [
                    {
                      "key": "id",
                      "value": "{{request_id}}"
                    }
                  ]
                },
                "description": "Current state of a verification. Ask every 2-3 seconds while `status` is `pending`; it becomes `verified` when the call is picked up. If expires_in reaches 0, check Status: a call already in progress may still finish. Billing can finish later; price.charged_amount shows the actual debit. Webhook status can be none, pending, sent or failed. Stop at verified, failed, expired or cancelled."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"01a12ed2-1dff-7f6d-aa29-1240cf92c058\",\n    \"status\": \"verified\",\n    \"verified\": true,\n    \"number\": \"+923001234567\",\n    \"call_to\": \"+923356742000\",\n    \"call_link\": \"https://wa.me/call/923356742000\",\n    \"created_at\": \"2026-10-12T11:34:44+05:00\",\n    \"expires_at\": \"2026-10-12T11:39:44+05:00\",\n    \"expires_in\": 0,\n    \"verified_at\": \"2026-10-12T11:35:45+05:00\",\n    \"audio\": \"default\",\n    \"price\": {\n      \"amount\": 1,\n      \"currency\": \"PKR\",\n      \"charged\": true,\n      \"charged_amount\": 1\n    },\n    \"call\": {\n      \"attempts\": 1,\n      \"rejected\": 0,\n      \"connected_seconds\": 6,\n      \"last_call_at\": \"2026-10-12T11:35:35+05:00\"\n    },\n    \"error\": null\n  },\n  \"meta\": {\n    \"request_id\": \"01a12ed2-1e02-7c11-9b2a-3c4d5e6f7a8b\"\n  }\n}"
            }
          ]
        },
        {
          "name": "3. Cancel",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": \"{{request_id}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/cancel.php",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "cancel.php"
              ]
            },
            "description": "Cancels a verification still waiting for a call before expiry. A call in progress returns REQUEST_IN_PROGRESS even while Status shows pending. Repeating cancellation is safe; an expired or closed request returns REQUEST_ALREADY_TERMINATED. Nothing is charged."
          },
          "response": [
            {
              "name": "Cancelled",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"id\": \"{{request_id}}\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "url": {
                  "raw": "{{base_url}}/cancel.php",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "cancel.php"
                  ]
                },
                "description": "Cancels a verification still waiting for a call before expiry. A call in progress returns REQUEST_IN_PROGRESS even while Status shows pending. Repeating cancellation is safe; an expired or closed request returns REQUEST_ALREADY_TERMINATED. Nothing is charged."
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"01a12ed2-1dff-7f6d-aa29-1240cf92c058\",\n    \"status\": \"cancelled\",\n    \"verified\": false,\n    \"number\": \"+923001234567\",\n    \"call_to\": \"+923356742000\",\n    \"call_link\": \"https://wa.me/call/923356742000\",\n    \"created_at\": \"2026-10-12T11:34:44+05:00\",\n    \"expires_at\": \"2026-10-12T11:39:44+05:00\",\n    \"expires_in\": 0,\n    \"verified_at\": null,\n    \"audio\": \"default\",\n    \"price\": {\n      \"amount\": 1,\n      \"currency\": \"PKR\",\n      \"charged\": false,\n      \"charged_amount\": 0\n    },\n    \"call\": {\n      \"attempts\": 0,\n      \"rejected\": 0,\n      \"connected_seconds\": null,\n      \"last_call_at\": null\n    },\n    \"error\": null\n  },\n  \"meta\": {\n    \"request_id\": \"01a12ed2-1e02-7c11-9b2a-3c4d5e6f7a8b\"\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "More options",
      "item": [
        {
          "name": "Start with your own message (audio_url)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/start.php",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "start.php"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"{{number}}\",\n  \"audio_url\": \"{{audio_url}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Plays your own MP3/WAV/OGG (https, public, max 1 MB; at most 30 seconds are played). It is downloaded once here, so a bad link fails right away."
          }
        },
        {
          "name": "Start with a webhook (notification_callback)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/start.php",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "start.php"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"{{number}}\",\n  \"notification_callback\": \"{{callback_url}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "We POST signed events to your URL: verification.verified, verification.call_failed, verification.failed, verification.expired, verification.cancelled, billing.charged. Headers X-SENDPK-Event, X-SENDPK-Event-Id and X-SENDPK-Signature (sha256=HMAC-SHA256 of the raw body, key = your API key). Reply 2xx within 5 seconds. Retryable failures get at most 3 attempts: the first delivery, a retry 1 minute after failure, then another 5 minutes after that failure. Retries use the current API key. billing.charged follows the verification.verified delivery attempts and can report a full or partial charge. A new callback URL replaces the old URL only on an open request; Idempotency-Key body checks still apply. Tip: a free request-catcher URL lets you watch the webhooks arrive."
          }
        },
        {
          "name": "Start on a specific WhatsApp number (whatsapp_id)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/start.php",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "start.php"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"{{number}}\",\n  \"whatsapp_id\": \"{{whatsapp_id}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Choose which of your connected WhatsApp numbers the user must call. Put its ID in the `whatsapp_id` variable."
          }
        },
        {
          "name": "Start safely with Idempotency-Key",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{idempotency_key}}"
              }
            ],
            "url": {
              "raw": "{{base_url}}/start.php",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "start.php"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"{{number}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Sending the same key again (within 24 hours) returns the same verification instead of a new one. Same key + different body = IDEMPOTENCY_CONFLICT. Keep the same body and key when retrying after a timeout or a 503 error; follow Retry-After when present. Keys are 1-100 visible ASCII characters without spaces. An existing open verification can hold one key; attaching a different key returns IDEMPOTENCY_CONFLICT."
          }
        },
        {
          "name": "Start with a shorter time to call (expires_in)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/start.php",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "start.php"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"{{number}}\",\n  \"expires_in\": 120\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "expires_in = seconds the user has to call: 60 to 300 (default 300 = 5 minutes). Outside that range: 422 INVALID_EXPIRES_IN."
          }
        }
      ]
    },
    {
      "name": "Error examples",
      "item": [
        {
          "name": "No API key (401)",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/start.php",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "start.php"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"{{number}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "AUTH_MISSING",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/start.php",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "start.php"
                  ]
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"AUTH_MISSING\",\n    \"message\": \"API key is missing. Send it in the Authorization header.\",\n    \"details\": {}\n  },\n  \"meta\": {\n    \"request_id\": \"01a12ed4-5b66-7e77-8f88-9a0b1c2d3e4f\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Invalid number (422)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/start.php",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "start.php"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"12345\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "INVALID_NUMBER",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{base_url}}/start.php",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "start.php"
                  ]
                }
              },
              "status": "Unprocessable Entity",
              "code": 422,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_NUMBER\",\n    \"message\": \"The number is not a valid phone number.\",\n    \"details\": {}\n  },\n  \"meta\": {\n    \"request_id\": \"01a12ed4-5b66-7e77-8f88-9a0b1c2d3e4f\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Unknown request (404)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/status.php?id=00000000-0000-7000-8000-000000000000",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "status.php"
              ],
              "query": [
                {
                  "key": "id",
                  "value": "00000000-0000-7000-8000-000000000000"
                }
              ]
            }
          },
          "response": [
            {
              "name": "REQUEST_NOT_FOUND",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{base_url}}/status.php?id=00000000-0000-7000-8000-000000000000",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "status.php"
                  ],
                  "query": [
                    {
                      "key": "id",
                      "value": "00000000-0000-7000-8000-000000000000"
                    }
                  ]
                }
              },
              "status": "Not Found",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json; charset=utf-8"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"REQUEST_NOT_FOUND\",\n    \"message\": \"Request not found.\",\n    \"details\": {}\n  },\n  \"meta\": {\n    \"request_id\": \"01a12ed4-5b66-7e77-8f88-9a0b1c2d3e4f\"\n  }\n}"
            }
          ]
        }
      ]
    }
  ]
}
