List UI skills

Note the hyphenated path, outside agent_config. The only list wrapped in data.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Request parameters

ParameterTypeRequiredInDescription
AuthorizationstringYesHeaderPartner app token, sent raw. Bearer <token> is also accepted.
appIdstring (uuid)YesPathPartner Portal app id. Stands in for Meta's entity_id.
limitintegerNoQueryMaximum rows per page. Range 1–.
afterstringNoQueryCursor for the next page. A malformed cursor answers 400 Bad request.
beforestringNoQueryCursor for the previous page.

Example request

curl --location --request GET 'https://partner.gupshup.io/partner/app/<appId>/bizai/agent-ui-skills?limit=10' \
  --header 'Authorization: <PARTNER_APP_TOKEN>'

Response parameters — 200

ParameterTypeDescription
dataarray of objectRows on this page.
data[].idstringResource id. Meta pfbid… id.
data[].titlestringName of the skill.
data[].component_typestringOne of: carousel_quick_reply, carousel_url, cta_url, flow, image, interactive_list, interactive_reply_buttons, location, location_request.
data[].statusstringOne of: enabled, disabled.
data[].instructionstringWhen and how the agent should use the component.
data[].flow_idintegerWhatsApp Flow id. Only for component_type flow.
data[].created_atintegerCreation time, Unix seconds.
data[].updated_atintegerLast update time, Unix seconds.
pagingobjectStop paging when next is absent.
paging.cursorsobjectCursors for the current page.
paging.cursors.beforestringPass as before to get the previous page.
paging.cursors.afterstringPass as after to get the next page.
paging.previousstringURL of the previous page.
paging.nextstringURL of the next page. Absent on the last page.

Example response — 200 OK

{
  "data": [
    {
      "id": "pfbid0UiSkillExampleId",
      "title": "quest-product-link",
      "component_type": "cta_url",
      "status": "enabled",
      "instruction": "When user asks about Meta Quest, send CTA button",
      "created_at": 1789630852,
      "updated_at": 1789630852
    }
  ],
  "paging": {
    "cursors": {
      "before": "QVFIUjExampleBeforeCursor",
      "after": "QVFIUjExampleAfterCursor"
    },
    "previous": "https://partner.gupshup.io/partner/app/{appId}/bizai/agent-ui-skills?limit=10&before=QVFIUjExampleBeforeCursor",
    "next": "https://partner.gupshup.io/partner/app/{appId}/bizai/agent-ui-skills?limit=10&after=QVFIUjExampleAfterCursor"
  }
}

Error responses

400 Bad Request — The app is not live, or WASS does not consider it live.

{
  "message": "App is not live.",
  "status": "error"
}

400 Bad Request — The app has no phone number attached. Checked before the live check.

{
  "message": "Phone id not found for the given App",
  "status": "error"
}

401 Unauthorized — Authorization is missing or invalid, belongs to another app, or appId is unknown or not a UUID.

{
  "status": "error",
  "message": "Unauthorised access to the resource. Please review request parameters and headers and retry"
}

405 Method Not Allowed — Any method other than GET, POST, PUT or DELETE, e.g. PATCH.

{
  "status": "error",
  "message": "Request method 'PATCH' is not supported"
}

429 Too Many Requests — More than 30 /bizai/** requests in 60 seconds for this app. The 31st is rejected.

{
  "status": "error",
  "message": "Too Many Requests"
}
Path Params
uuid
required

Partner Portal app id. Stands in for Meta's entity_id.

Query Params
integer
≥ 1

Maximum rows per page.

string

Cursor for the next page. A malformed cursor answers 400 Bad request.

string

Cursor for the previous page.

Responses

429

Per-app rate limit exceeded. Retry after the 60-second window.

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json