WhatsApp Business

WhatsApp Business messaging API

developers.facebook.com/docs/whatsapp/cloud-api ↗
Version
1.0
OpenAPI
3.0.0
Endpoints
55
Schemas
144
68
Quality
Updated
3 days ago
Messaging messaging business communication
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

http://whatsapp.local
http://example.com/v1

Endpoints

Clear filters

Application 1 endpoints

PATCH /settings/application

If a field is not present in the request, no change is made to that setting. For example, if on_call_pager is not sent with the request, the existing configuration for on_call_pager is unchanged.

operationId: Application_updateSettings

Request Body

required
application/json
schema Application-Settings
Property Type Required
media object optional
auto_download array required
webhooks object optional
url string optional
max_concurrent_requests string optional
sent_status boolean optional
pass_through boolean optional
on_call_pager string optional
callback_persist boolean optional
heartbeat_interval integer optional
unhealthy_interval integer optional
callback_backoff_delay_ms string optional
max_callback_backoff_delay_ms string optional

Responses

200
PATCH /settings/application

Groups 1 endpoints

PATCH /groups/{GroupId}/admins
operationId: Groups_promoteToAdmin

Parameters

Name In Required Type Description
GroupId path required string

Request Body

required
application/json
schema Group-Admin-Request-Body
Property Type Required
wa_ids array required

Responses

200
PATCH /groups/{GroupId}/admins

Profile 1 endpoints

PATCH /settings/profile/about
operationId: Profile_updateAbout

Request Body

required
application/json
schema Profile-About
Property Type Required
text string required

Responses

200
PATCH /settings/profile/about

Schemas

object Address
{
  "type": "object",
  "title": "Address",
  "example": {
    "zip": "94025",
    "city": "Menlo Park",
    "type": "HOME",
    "state": "CA",
    "street": "1 Hacker Way",
    "country": "United States",
    "country_code": "us"
  },
  "required": [
    "city",
    "country",
    "country_code",
    "state",
    "street",
    "type",
    "zip"
  ],
  "properties": {
    "zip": {
      "type": "string",
      "description": "ZIP code"
    },
    "city": {
      "type": "string",
      "description": "City name"
    },
    "type": {
      "type": "string",
      "description": "Standard Values: HOME, WORK"
    },
    "state": {
      "type": "string",
      "description": "State abbreviation"
    },
    "street": {
      "type": "string",
      "description": "Street number and name"
    },
    "country": {
      "type": "string",
      "description": "Full country name"
    },
    "country_code": {
      "type": "string",
      "description": "Two-letter country abbreviation"
    }
  }
}
object Application-Settings
{
  "type": "object",
  "title": "Update-Application-Settings-Request-Body",
  "example": {
    "media": {
      "auto_download": [
        "image",
        "document",
        "audio"
      ]
    },
    "webhooks": {
      "url": "<Webhook URL, https>",
      "max_concurrent_requests": 12
    },
    "sent_status": false,
    "pass_through": false,
    "on_call_pager": "<WA_ID of valid WhatsApp contact>",
    "callback_persist": true,
    "callback_backoff_delay_ms": 3000,
    "max_callback_backoff_delay_ms": 900000
  },
  "properties": {
    "media": {
      "$ref": "#/components/schemas/Media"
    },
    "webhooks": {
      "$ref": "#/components/schemas/Webhooks"
    },
    "sent_status": {
      "type": "boolean",
      "default": false,
      "description": "Receive a notification that a message is sent to server. When true, you will receive a message indicating that a message has been sent. If false (default), you will not receive notification."
    },
    "pass_through": {
      "type": "boolean",
      "default": true,
      "description": "When true, removes messages from the local database after they are delivered to or read by the recipient. When false, saves all messages on local storage until they are explicitly deleted.\nWhen messages are sent, they are stored in a local database. This database is used as the application's history. Since the business keeps its own history, you can specify whether you want message pass_through or not. Restart required."
    },
    "on_call_pager": {
      "type": "string",
      "description": "Set to valid WhatsApp Group with users who wish to see alerts for critical errors and messages."
    },
    "callback_persist": {
      "type": "boolean",
      "default": true,
      "description": "Stores callbacks on disk until they are successfully acknowledged by the Webhook or not. Restart required."
    },
    "heartbeat_interval": {
      "type": "integer",
      "default": 5,
      "description": "Multiconnect: Interval of the Master node monitoring of Coreapp nodes in seconds"
    },
    "unhealthy_interval": {
      "type": "integer",
      "default": 30,
      "description": "Multiconnect: Maximum amount of seconds a Master node waits for a Coreapp node to respond to a heartbeat before considering it unhealthy and starting the failover process."
    },
    "callback_backoff_delay_ms": {
      "type": "string",
      "default": "3000",
      "description": "Backoff delay for a failed callback in milliseconds\nThis setting is used to configure the amount of time the backoff delays before retrying a failed callback. The backoff delay increases linearly by this value each time a callback fails to get a HTTPS 200 OK response. The backoff delay is capped by the max_callback_backoff_delay_ms setting."
    },
    "max_callback_backoff_delay_ms": {
      "type": "string",
      "default": "900000",
      "description": "Maximum delay for a failed callback in milliseconds"
    }
  }
}
array ApplicationUpdateMediaProvidersRequest
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Media-Provider"
  },
  "description": ""
}
object Audio
{
  "type": "object",
  "oneOf": [
    {
      "$ref": "#/components/schemas/AudioById"
    },
    {
      "$ref": "#/components/schemas/AudioByProvider"
    }
  ],
  "title": "Audio",
  "description": "The media object containing audio"
}
object AudioById
{
  "type": "object",
  "title": "AudioById",
  "example": {
    "id": "<Media Id, from Media API>"
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    }
  }
}
object AudioByProvider
{
  "type": "object",
  "title": "AudioByProvider",
  "example": {
    "link": "<Link to Audio, https>",
    "provider": {
      "name": "<Provider Name from Media Provider API, optional"
    }
  },
  "required": [
    "provider",
    "link"
  ],
  "properties": {
    "link": {
      "type": "string"
    },
    "provider": {
      "$ref": "#/components/schemas/Provider"
    }
  }
}
object Backup-Settings
{
  "type": "object",
  "title": "Root Type for Backup-Settings",
  "example": {
    "data": "encrypted-backup-data"
  },
  "properties": {
    "data": {
      "type": "string",
      "description": "The data that has been backed up, encrypted for security."
    }
  },
  "description": ""
}
object Backup-Settings-Request-Body
{
  "type": "object",
  "title": "Backup-Settings-Request",
  "example": {
    "password": "<Password for Backup>"
  },
  "required": [
    "password"
  ],
  "properties": {
    "password": {
      "type": "string",
      "description": "Used to encrypt backup data for security"
    }
  }
}
object Backup-Settings-Response
{
  "type": "object",
  "title": "Root Type for Backup-Settings-Response",
  "example": {
    "settings": {
      "data": "encrypted-backup-data"
    }
  },
  "properties": {
    "settings": {
      "$ref": "#/components/schemas/Backup-Settings"
    }
  },
  "description": "Save the data value as that will be used along with your password to restore the information."
}
object Basic
{
  "type": "object",
  "title": "Root Type for Basic",
  "example": {
    "password": "your-password",
    "username": "your-username"
  },
  "properties": {
    "password": {
      "type": "string"
    },
    "username": {
      "type": "string"
    }
  },
  "description": ""
}
object Business-Profile
{
  "type": "object",
  "title": "Set-Business-Profile-Request",
  "example": {
    "email": "<Business Profile Email>",
    "address": "<Business Profile Address>",
    "vertical": "<Business Profile Vertical>",
    "websites": [
      "https://www.whatsapp.com",
      "https://www.facebook.com"
    ],
    "description": "<Business Profile Description>"
  },
  "required": [
    "address",
    "description",
    "email",
    "vertical",
    "websites"
  ],
  "properties": {
    "email": {
      "type": "string",
      "description": "Email address to contact the business\nMaximum of 128 characters"
    },
    "address": {
      "type": "string",
      "description": "Address of the business\nMaximum of 256 characters"
    },
    "vertical": {
      "type": "string",
      "description": "Industry of the business\nMaximum of 128 characters"
    },
    "websites": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "URLs associated with business (e.g., website, Facebook page, Instagram)\nMaximum of 2 websites with a maximum of 256 characters each"
    },
    "description": {
      "type": "string",
      "description": "Description of the business\nMaximum of 256 characters"
    }
  }
}
object Business-Settings
{
  "type": "object",
  "title": "Root Type for Business-Settings",
  "example": {
    "business": {
      "profile": {
        "email": "new-business-email",
        "address": "new-business-address",
        "vertical": "business-industry",
        "websites": [
          "website-1",
          "website-2"
        ],
        "description": "business-description"
      }
    }
  },
  "properties": {
    "business": {
      "$ref": "#/components/schemas/Business-Settings-Business"
    }
  },
  "description": ""
}
object Business-Settings-Business
{
  "type": "object",
  "title": "Root Type for Business-Settings-Business",
  "example": {
    "profile": {
      "email": "new-business-email",
      "address": "new-business-address",
      "vertical": "business-industry",
      "websites": [
        "website-1",
        "website-2"
      ],
      "description": "business-description"
    }
  },
  "properties": {
    "profile": {
      "$ref": "#/components/schemas/Business-Profile"
    }
  },
  "description": ""
}
string CertificatesDownloadCaCertificateResponse
{
  "type": "string",
  "format": "binary"
}
string CertificatesDownloadWebhookCaCertificateResponse
{
  "type": "string",
  "format": "binary"
}
string CertificatesUploadExternalCertificateRequest
{
  "type": "string",
  "format": "binary"
}
string CertificatesUploadWebhookCaCertificateRequest
{
  "type": "string",
  "format": "binary"
}
object Check-Contact
{
  "type": "object",
  "title": "Check-Contact",
  "example": {
    "input": "+1 (516) 283-7151",
    "wa_id": "15162837151",
    "status": "valid"
  },
  "properties": {
    "input": {
      "type": "string",
      "description": "The value you sent in the contacts field of the JSON request."
    },
    "wa_id": {
      "type": "string",
      "description": "WhatsApp user identifier that can be used in other API calls. Only returned if the status is valid."
    },
    "status": {
      "enum": [
        "processing",
        "valid",
        "invalid"
      ],
      "type": "string",
      "description": "Status of the user.",
      "x-enum-descriptions": [
        "processing: Input is still being processed.",
        "valid: Input determined to be a valid WhatsApp user.",
        "invalid: Input determined to not be a valid WhatsApp user or the phone number is in a bad format."
      ]
    }
  },
  "description": ""
}
object Check-Contact-Request-Body
{
  "type": "object",
  "title": "Check-Contact-Request",
  "example": {
    "blocking": "wait",
    "contacts": [
      "{{Recipient-WA-ID}}"
    ]
  },
  "required": [
    "contacts"
  ],
  "properties": {
    "blocking": {
      "enum": [
        "no_wait",
        "wait"
      ],
      "type": "string",
      "default": "no_wait",
      "description": "Blocking determines whether the request should wait for the processing to complete (synchronous) or not (asynchronous)."
    },
    "contacts": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of contact phone numbers. The numbers can be in any standard telephone number format."
    }
  }
}
object Check-Contact-Response
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/Response"
    },
    {
      "type": "object",
      "properties": {
        "contacts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Check-Contact"
          }
        }
      }
    }
  ],
  "title": "Check-Contact-Response",
  "example": {
    "contacts": [
      {
        "input": "1-631-555-1002",
        "status": "processing"
      },
      {
        "input": "6315551003",
        "status": "processing"
      },
      {
        "input": "+54 9 11 5612-1008",
        "status": "processing"
      },
      {
        "input": "+1 (516) 283-7151",
        "wa_id": "15162837151",
        "status": "valid"
      }
    ]
  },
  "description": ""
}
object Check-Health-Response
{
  "type": "object",
  "title": "Root Type for Check-Health-Response",
  "example": {
    "health": {
      "your-hostname1:your-container-id1": {
        "role": "primary_master",
        "gateway_status": "connected"
      },
      "your-hostname2:your-container-id2": {
        "role": "secondary_master",
        "gateway_status": "disconnected"
      }
    }
  },
  "properties": {
    "health": {
      "oneOf": [
        {
          "$ref": "#/components/schemas/Gateway-Status"
        },
        {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/Gateway-Node-Status"
          }
        }
      ]
    }
  },
  "description": ""
}
object Config
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/Config-Bearer"
    },
    {
      "$ref": "#/components/schemas/Config-Basic"
    }
  ],
  "title": "Config"
}
object Config-Basic
{
  "type": "object",
  "title": "Config",
  "example": {
    "basic": {
      "password": "your-password",
      "username": "your-username"
    }
  },
  "properties": {
    "basic": {
      "$ref": "#/components/schemas/Basic"
    }
  }
}
object Config-Bearer
{
  "type": "object",
  "title": "Config",
  "example": {
    "bearer": "<Bearer Auth Token>"
  },
  "required": [
    "bearer"
  ],
  "properties": {
    "bearer": {
      "type": "string"
    }
  }
}
object Contact
{
  "type": "object",
  "title": "Contact",
  "example": {
    "org": {
      "title": "Manager",
      "company": "WhatsApp",
      "department": "Design"
    },
    "name": {
      "last_name": "Smith",
      "first_name": "John",
      "formatted_name": "John Smith"
    },
    "urls": [
      {
        "url": "https://www.facebook.com",
        "type": "WORK"
      }
    ],
    "emails": [
      {
        "type": "WORK",
        "email": "test@fb.com"
      },
      {
        "type": "WORK",
        "email": "test@whatsapp.com"
      }
    ],
    "phones": [
      {
        "type": "HOME",
        "phone": "+1 (940) 555-1234"
      },
      {
        "type": "WORK",
        "phone": "+1 (650) 555-1234",
        "wa_id": "16505551234"
      }
    ],
    "birthday": "2012-08-18T00:00:00.000Z",
    "addresses": [
      {
        "zip": "94025",
        "city": "Menlo Park",
        "type": "HOME",
        "state": "CA",
        "street": "1 Hacker Way",
        "country": "United States",
        "country_code": "us"
      },
      {
        "zip": "94025",
        "city": "Menlo Park",
        "type": "WORK",
        "state": "CA",
        "street": "200 Jefferson Dr",
        "country": "United States",
        "country_code": "us"
      }
    ]
  },
  "properties": {
    "ims": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": ""
    },
    "org": {
      "$ref": "#/components/schemas/Org"
    },
    "name": {
      "$ref": "#/components/schemas/Name"
    },
    "urls": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Url"
      },
      "description": "Contact URL(s)"
    },
    "emails": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Email"
      },
      "description": "Contact email address(es)"
    },
    "phones": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Phone"
      },
      "description": "Contact phone number(s)"
    },
    "birthday": {
      "type": "string",
      "description": "YYYY-MM-DD formatted string"
    },
    "addresses": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Address"
      },
      "description": "Full contact address(es)"
    }
  }
}
object Create-Group-Request-Body
{
  "type": "object",
  "title": "Create-Group-Request",
  "example": {
    "subject": "<Group Subject>"
  },
  "required": [
    "subject"
  ],
  "properties": {
    "subject": {
      "type": "string"
    }
  }
}
object Create-User-Request-Body
{
  "type": "object",
  "title": "Create-User-Request",
  "example": {
    "password": "password",
    "username": "username"
  },
  "required": [
    "username",
    "password"
  ],
  "properties": {
    "password": {
      "type": "string",
      "description": "username"
    },
    "username": {
      "type": "string",
      "description": "password"
    }
  }
}
object Currency
{
  "type": "object",
  "title": "Currency",
  "example": {
    "amount_1000": 100990,
    "currency_code": "USD"
  },
  "required": [
    "amount_1000",
    "currency_code"
  ],
  "properties": {
    "amount_1000": {
      "type": "integer",
      "format": "int32"
    },
    "currency_code": {
      "type": "string"
    }
  },
  "description": ""
}
object Date-Time-Component
{
  "type": "object",
  "title": "Date-Time-Component",
  "example": {
    "hour": 15,
    "year": 1977,
    "month": 2,
    "minute": 33,
    "day_of_week": 5,
    "day_of_month": 25
  },
  "properties": {
    "hour": {
      "type": "integer",
      "format": "int32",
      "description": "The hour"
    },
    "year": {
      "type": "integer",
      "format": "int32",
      "description": "The year"
    },
    "month": {
      "type": "integer",
      "format": "int32",
      "description": "The month"
    },
    "minute": {
      "type": "integer",
      "format": "int32",
      "description": "The minute"
    },
    "day_of_week": {
      "enum": [
        "1",
        "2",
        "3",
        "4",
        "5",
        "6",
        "7"
      ],
      "type": "string",
      "format": "int32",
      "description": "Both strings and numbers are accepted. If different from the value derived from the date (if specified), use the derived value.",
      "x-enum-varnames": [
        "MONDAY",
        "TUESDAY",
        "WEDNESDAY",
        "THURSDAY",
        "FRIDAY",
        "SATURDAY",
        "SUNDAY"
      ],
      "x-enum-descriptions": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday",
        "Saturday",
        "Sunday"
      ]
    },
    "day_of_month": {
      "type": "integer",
      "format": "int32",
      "description": "The day of month"
    }
  },
  "description": "Date/time by component"
}
object Date-Time-Object
{
  "type": "object",
  "title": "Date-Time",
  "example": {
    "component": {
      "hour": 15,
      "year": 1977,
      "month": 2,
      "minute": 33,
      "day_of_week": 5,
      "day_of_month": 25
    }
  },
  "properties": {
    "component": {
      "$ref": "#/components/schemas/Date-Time-Component"
    },
    "unix_epoch": {
      "$ref": "#/components/schemas/Date-Time-Unix-Epoch"
    }
  },
  "description": "The Whatsapp Business API Client will attempt to format the date/time based on a specified localization."
}
object Date-Time-Unix-Epoch
{
  "type": "object",
  "title": "Date-Time-Unix-Epoch",
  "example": {
    "timestamp": 123456789
  },
  "properties": {
    "timestamp": {
      "type": "integer",
      "format": "int32",
      "description": "Epoch timestamp in seconds"
    }
  },
  "description": "Date/time by Unix epoch"
}
object Detailed-User-Response
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/Response"
    },
    {
      "type": "object",
      "properties": {
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Detailed-User-Response-Item"
          }
        }
      }
    }
  ],
  "title": "Root Type for Detailed-User-Response",
  "example": {
    "users": [
      {
        "ROLES": "ROLE_USER",
        "username": "username"
      }
    ]
  },
  "description": ""
}
object Detailed-User-Response-Item
{
  "type": "object",
  "title": "Root Type for Detailed-Response-Item",
  "example": {
    "ROLES": "ROLE_USER",
    "username": "username"
  },
  "properties": {
    "ROLES": {
      "$ref": "#/components/schemas/User-Role"
    },
    "username": {
      "type": "string"
    }
  },
  "description": ""
}
object Document
{
  "type": "object",
  "oneOf": [
    {
      "$ref": "#/components/schemas/DocumentById"
    },
    {
      "$ref": "#/components/schemas/DocumentByProvider"
    }
  ],
  "title": "Document",
  "description": "The media object containing a document"
}
object DocumentById
{
  "type": "object",
  "title": "Document",
  "example": {
    "id": "<Media Id, from Media API>X",
    "caption": "<Message Caption>",
    "filename": "<Filename>"
  },
  "required": [
    "caption",
    "id",
    "filename"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "caption": {
      "type": "string"
    },
    "filename": {
      "type": "string"
    }
  }
}
object DocumentByProvider
{
  "type": "object",
  "title": "Document1",
  "example": {
    "link": "<Link to PDF, https>",
    "caption": "<Message Caption>",
    "filename": "<Filename>",
    "provider": {
      "name": "<Provider Name from Media Provider API, optional"
    }
  },
  "required": [
    "provider",
    "caption",
    "link",
    "filename"
  ],
  "properties": {
    "link": {
      "type": "string"
    },
    "caption": {
      "type": "string"
    },
    "filename": {
      "type": "string"
    },
    "provider": {
      "$ref": "#/components/schemas/Provider"
    }
  }
}
object Email
{
  "type": "object",
  "title": "Email",
  "example": {
    "type": "<Contact's Email Type>",
    "email": "<Contact's Email>"
  },
  "required": [
    "email",
    "type"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "email": {
      "type": "string"
    }
  }
}
object Enable-Two-Step-Request-Body
{
  "type": "object",
  "title": "Enable-Two-Step-Request",
  "example": {
    "pin": "your-6-digit-pin"
  },
  "required": [
    "pin"
  ],
  "properties": {
    "pin": {
      "type": "string"
    }
  }
}
object Error
{
  "type": "object",
  "title": "Error",
  "example": {
    "code": 1234,
    "title": "error-code-title",
    "details": "optional-detailed-error-message"
  },
  "properties": {
    "code": {
      "type": "integer",
      "format": "int32",
      "description": "See the https://developers.facebook.com/docs/whatsapp/api/errors for more information."
    },
    "href": {
      "type": "string",
      "description": "location for error detail"
    },
    "title": {
      "type": "string",
      "description": "error title"
    },
    "details": {
      "type": "string",
      "description": "error detail"
    }
  },
  "description": ""
}
object Gateway-Node-Status
{
  "type": "object",
  "title": "Root Type for Gateway-Node-Status",
  "example": {
    "role": "coreapp",
    "gateway_status": "connected"
  },
  "properties": {
    "role": {
      "enum": [
        "primary_master",
        "secondary_master",
        "coreapp"
      ],
      "type": "string"
    },
    "gateway_status": {
      "type": "string"
    }
  },
  "description": ""
}
string Gateway-Status
{
  "enum": [
    "connected",
    "connecting",
    "disconnected",
    "uninitialized",
    "unregistered"
  ],
  "type": "string",
  "description": ""
}
object Get-Business-Profile-Response
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/Response"
    },
    {
      "type": "object",
      "properties": {
        "settings": {
          "$ref": "#/components/schemas/Business-Settings"
        }
      }
    }
  ],
  "title": "Root Type for Get-Business-Profile-Response",
  "example": {
    "settings": {
      "business": {
        "profile": {
          "email": "new-business-email",
          "address": "new-business-address",
          "vertical": "business-industry",
          "websites": [
            "website-1",
            "website-2"
          ],
          "description": "business-description"
        }
      }
    }
  },
  "description": ""
}
object Get-Media-Providers-Response
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/Response"
    },
    {
      "type": "object",
      "properties": {
        "settings": {
          "$ref": "#/components/schemas/Media-Provider-Settings"
        }
      }
    }
  ],
  "title": "Root Type for Get-Media-Providers-Response",
  "example": {
    "settings": {
      "application": {
        "media": {
          "providers": [
            {
              "name": "your-first-provider",
              "type": "www",
              "config": {
                "basic": {
                  "password": "your-password",
                  "username": "your-username"
                }
              }
            },
            {
              "name": "your-second-provider",
              "type": "www",
              "config": {
                "bearer": "your-bearer-token"
              }
            }
          ]
        }
      }
    }
  },
  "description": ""
}
object Get-Profile-About-Response
{
  "type": "object",
  "title": "Root Type for Get-Profile-About-Response",
  "example": {
    "settings": {
      "profile": {
        "about": {
          "text": "your-profile-about-text"
        }
      }
    }
  },
  "properties": {
    "settings": {
      "$ref": "#/components/schemas/Profile-About-Settings"
    }
  },
  "description": ""
}
object Get-Profile-Photo-Response
{
  "type": "object",
  "title": "Root Type for Get-Profile-Photo-Response",
  "example": {
    "settings": {
      "profile": {
        "photo": {
          "link": "profile-photo-url"
        }
      }
    }
  },
  "properties": {
    "settings": {
      "$ref": "#/components/schemas/Profile-Photo-Settings"
    }
  },
  "description": ""
}
object Group
{
  "type": "object",
  "title": "Groups-Response-Item",
  "example": {
    "id": "your-group-id",
    "creation_time": 123456789
  },
  "properties": {
    "id": {
      "type": "string"
    },
    "creation_time": {
      "type": "integer",
      "format": "int32",
      "description": "timestamp"
    }
  },
  "description": ""
}
object Group-Admin-Request-Body
{
  "type": "object",
  "title": "Group-Admin-Request",
  "example": {
    "wa_ids": [
      "<Recipient WA-ID, from Contacts API>"
    ]
  },
  "required": [
    "wa_ids"
  ],
  "properties": {
    "wa_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The WhatsApp IDs of the people to be added or removed as group admins"
    }
  }
}
object Group-Info
{
  "type": "object",
  "title": "Group-Response-Item",
  "example": {
    "admins": [
      "whatsapp-id-1",
      "whatsapp-id-2"
    ],
    "creator": "whatsapp-id-1",
    "subject": "your-group-subject",
    "participants": [
      "whatsapp-id-3",
      "whatsapp-id-4",
      "whatsapp-id-5"
    ],
    "creation_time": 123456789
  },
  "properties": {
    "admins": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Group administrators\nLists IDs of the creator of the group and any administrators added"
    },
    "creator": {
      "type": "string",
      "description": "ID of the creator of this group"
    },
    "subject": {
      "type": "string",
      "description": "Subject of the group"
    },
    "participants": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Participants of the group\nThis is an array of all the IDs of the participants in the group. Initially, this will be the creator of the group."
    },
    "creation_time": {
      "type": "integer",
      "format": "int32",
      "description": "Group creation time"
    }
  },
  "description": ""
}
object Group-Invite
{
  "type": "object",
  "title": "Group-Invite",
  "example": {
    "link": "group-invite-link"
  },
  "properties": {
    "link": {
      "type": "string"
    }
  },
  "description": ""
}
object Group-Invite-Response
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/Response"
    },
    {
      "type": "object",
      "properties": {
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Group-Invite"
          }
        }
      }
    }
  ],
  "title": "Group-Invite-Response",
  "example": {
    "groups": [
      {
        "link": "group-invite-link"
      }
    ]
  },
  "description": ""
}