Meta Profile Request API

Manage requests to create or update your Meta (WhatsApp Business) verified profile (display name, number, OTP number, and channel). A Meta profile request goes through a pending state until it's approved/processed — while pending, you can update or delete it; once it moves out of pending, it becomes read-only.

Authentication

Required on all endpoints below. Send a JWT as a Bearer token:

Authorization: Bearer <jwt_token>

{{base_url}} = https://wa20.nuke.co.in/v6/api


1. Get Meta Profile Requests

Returns all Meta profile requests submitted under your account, most recent first.

Endpoint

GET {{base_url}}/account/profile-request

Headers

HeaderValue
AuthorizationBearer <jwt_token>

Example Request

curl --location 'https://wa20.nuke.co.in/v6/api/account/profile-request' \
--header 'Authorization: Bearer {{bearer_token}}'

Example Response — 200 OK

{
  "message": "Profile requests retrieved successfully",
  "data": [
    {
      "id": 1,
      "username": "demo_user",
      "verified_name": "My Verified Name",
      "number": "919876543210",
      "numberForOTP": "919876543210",
      "status": "pending",
      "channel": "branded"
    }
  ]
}

Response Fields

FieldDescription
messageHuman-readable confirmation.
dataArray of your Meta profile request records, ordered newest first (id DESC).
data[].idUnique ID of the Meta profile request.
data[].verified_nameThe display name submitted for verification.
data[].numberThe WhatsApp business number tied to this request (null if not provided).
data[].numberForOTPThe number used to receive the OTP for this request.
data[].statusCurrent status — pending (editable/deletable) or a terminal status once processed (see Notes).
data[].channelofficial or branded — see Channel Values below.

2. Create Meta Profile Request

Submits a new Meta profile request. If an identical pending request already exists (same channel, verified_name, numberForOTP, and number), no new row is created — the existing one is returned instead.

Endpoint

POST {{base_url}}/account/profile-request

Headers

HeaderValue
Content-Typeapplication/json
AuthorizationBearer <jwt_token>

Body Parameters

ParameterTypeRequiredDescription
verified_namestringYesThe display name you want verified for your Meta (WhatsApp Business) profile.
numberstringNoThe WhatsApp business number this request is for. Omit/leave blank for null.
numberForOTPstringNoThe number that will receive the OTP for verification.
channelstringNo"official" or "branded". Defaults to "official" if not sent.

Example Request

{
  "verified_name": "My Verified Name",
  "number": "919876543210",
  "numberForOTP": "919876543210",
  "channel": "branded"
}
curl --location 'https://wa20.nuke.co.in/v6/api/account/profile-request' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{bearer_token}}' \
--data '{
    "verified_name": "My Verified Name",
    "number": "919876543210",
    "numberForOTP": "919876543210",
    "channel": "branded"
}'

Example Response — New Request Created

{
  "message": "WhatsApp profile request created successfully",
  "data": {
    "id": 12,
    "username": "demo_user",
    "verified_name": "My Verified Name",
    "number": "919876543210",
    "numberForOTP": "919876543210",
    "status": "pending",
    "channel": "branded"
  }
}

Example Response — Duplicate Request Found

If a matching pending request already exists, no duplicate row is inserted:

{
  "message": "Branded WhatsApp profile request already exists",
  "data": {
    "id": 12,
    "username": "demo_user",
    "verified_name": "My Verified Name",
    "number": "919876543210",
    "numberForOTP": "919876543210",
    "status": "pending",
    "channel": "branded"
  },
  "duplicate": true
}

The message prefixes "Branded" when channel is "branded"; for "official", the prefix is omitted ("WhatsApp profile request already exists").

Response Fields

FieldDescription
messageConfirmation message — differs based on whether a new request was created or a duplicate was found.
dataThe created (or existing duplicate) Meta profile request record.
duplicatetrue only when an identical pending request already existed and was returned instead of creating a new one. Omitted on a fresh create.

3. Update Meta Profile Request

Updates fields on an existing Meta profile request. Only allowed while the request's status is pending.

Endpoint

PUT {{base_url}}/account/profile-request/:id

Path Parameters

ParameterTypeRequiredDescription
idintegerYesID of the Meta profile request to update.

Headers

HeaderValue
Content-Typeapplication/json
AuthorizationBearer <jwt_token>

Body Parameters

All fields are optional — only send the ones you want to change. Only the fields provided are updated; everything else stays as-is.

ParameterTypeRequiredDescription
verified_namestringNoNew display name.
numberstringNoNew WhatsApp business number. Send an empty value to clear it to null.
numberForOTPstringNoNew OTP number.
channelstringNo"official" or "branded".

Example Request

{
  "verified_name": "My Updated Verified Name",
  "number": "919876543210",
  "numberForOTP": "919876543210",
  "channel": "branded"
}
curl --location --request PUT 'https://wa20.nuke.co.in/v6/api/account/profile-request/1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{bearer_token}}' \
--data '{
    "verified_name": "My Updated Verified Name",
    "number": "919876543210",
    "numberForOTP": "919876543210",
    "channel": "branded"
}'

Example Response — 200 OK

{
  "message": "Profile request updated successfully"
}

4. Delete Meta Profile Request

Deletes a Meta profile request. Only allowed while the request's status is pending.

Endpoint

DELETE {{base_url}}/account/profile-request/:id

Path Parameters

ParameterTypeRequiredDescription
idintegerYesID of the Meta profile request to delete.

Headers

HeaderValue
AuthorizationBearer <jwt_token>

Example Request

curl --location --request DELETE 'https://wa20.nuke.co.in/v6/api/account/profile-request/1' \
--header 'Authorization: Bearer {{bearer_token}}'

Example Response — 200 OK

{
  "message": "Profile request deleted successfully"
}

Channel Values

channel valueMeaning
officialDefault channel — standard WhatsApp Business profile verification.
brandedBranded WhatsApp profile verification flow.

Error Responses

StatusMessageApplies ToReason
404Profile request not foundUpdate, DeleteNo Meta profile request with that id exists for your username.
400Can only update pending profile requestsUpdateMeta profile request's status is not pending.
400Can only delete pending profile requestsDeleteMeta profile request's status is not pending.

Notes

  • verified_name and numberForOTP are required to create a Meta profile request; they're optional on update (only the fields you send are changed).
  • Duplicate detection on create is scoped to your username + channel + verified_name + numberForOTP + number (null and an actual value are treated separately), and only matches Meta profile requests still in pending status.
  • Once a request's status moves out of pending (i.e. it has been processed/approved), it can no longer be updated or deleted via this API.
  • Get Meta Profile Requests always returns all Meta profile requests for your account regardless of status, ordered newest first.