> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Liệt kê Webhook đã đăng ký

> Liệt kê các webhook đã đăng ký

export const PlansAvailable = ({plans = [], maxPackRequired}) => {
  let displayPlans = plans;
  if (plans && plans.length === 1) {
    const lowerCasePlan = plans[0].toLowerCase();
    if (lowerCasePlan === "business") {
      displayPlans = ["Launch", "Business", "Enterprise"];
    } else if (lowerCasePlan === "premium") {
      displayPlans = ["Premium", "Launch", "Business", "Enterprise"];
    }
  }
  return <Note>
Available on {displayPlans.length === 1 ? "the " : ""}
{displayPlans.join(", ").replace(/\b\w/g, l => l.toUpperCase())}{" "}
{displayPlans.length > 1 ? "plans" : "plan"}.

{maxPackRequired && <span onClick={() => window.open('https://www.ayrshare.com/docs/additional/maxpack', '_self')} className="flex items-center mt-2 cursor-pointer">
 <span className="px-1.5 py-0.5 rounded text-sm" style={{
    backgroundColor: '#C264B6',
    color: 'white',
    fontSize: '12px'
  }}>
   Max Pack required
 </span>
</span>}
</Note>;
};

export const HeaderAPI = ({noProfileKey, profileKeyRequired}) => <>
    <ParamField header="Authorization" type="string" required>
      <a href="/apis/overview#authorization">API Key</a> of the Primary Profile.
      <br />
      <br />
      Format: <code>Authorization: Bearer API_KEY</code>
    </ParamField>
    {!noProfileKey && (profileKeyRequired ? <ParamField header="Profile-Key" type="string" required>
          <a href="/apis/overview#profile-key-format">Profile Key</a> of a User Profile.
          <br />
          <br />
          Format: <code>Profile-Key: PROFILE_KEY</code>
        </ParamField> : <ParamField header="Profile-Key" type="string">
          <a href="/apis/overview#profile-key-format">Profile Key</a> of a User Profile.
          <br />
          <br />
          Format: <code>Profile-Key: PROFILE_KEY</code>
        </ParamField>)}
  </>;

<PlansAvailable plans={["premium"]} maxPackRequired={false} />

## Tham số Header

<HeaderAPI />

## Tham số Query

<ParamField query="allWebhooks" type="boolean" default={false}>
  Trả về tất cả các webhook đã đăng ký cho mọi User Profile liên kết với tài khoản của bạn, bao gồm Primary Profile.
  Bạn chỉ cần cung cấp API Key của Primary Profile trong request header.
</ParamField>

<ResponseExample>
  ```json 200: Response theme={"system"}
  {
      "batch": "https://mywebsite.com/hook",
      "batchUpdated": "2024-01-11T20:05:18Z",
      "feedUpdated": "2024-01-11T18:20:50Z",
      "refId": "1c72bd62e59807fdfdc5cc083",
      "scheduled": "https://mywebsite.com/hook",
      "scheduledUpdated": "2023-12-06T01:54:08Z",
      "social": "https://mywebsite.com/hook",
      "socialUpdated": "2023-10-26T03:20:46Z",
      "status": "success",
      "updated": "2024-01-11T18:20:51Z"
  }
  ```

  ```json 200: Using allWebhooks theme={"system"}
  {
      "webhooks": [
          {
              "messages": "https://mywebsite.com/hook",
              "messagesUpdated": "2024-12-11T09:58:22Z",
              "refId": "d0b8bf39805ae442094137f09f2417bf2s82",
              "scheduled": "https://mywebsite.com/hook",
              "scheduledUpdated": "2024-02-19T12:17:12Z",
              "status": "success",
              "updated": "2023-08-22T11:55:06Z"
          }
      ]
  }
  ```
</ResponseExample>
