> For the complete documentation index, see [llms.txt](https://cortex-docs.paloaltonetworks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cortex-docs.paloaltonetworks.com/xdr-3-api/broker-vm-tenant-side/actions.md).

# Actions

Poll the status of asynchronous actions that mutating broker endpoints return (e.g., edit, set applet config, lifecycle).

## Poll the status of an asynchronous broker action

> Return the current status of an action previously enqueued by an\
> edit, applet, or lifecycle endpoint. Callers should poll with\
> moderate backoff; typical actions complete in seconds, slow ones\
> (upgrade, applet activation requiring image pull) in minutes.\
> \
> See the \[Action Statuses]\(<https://app.gitbook.com/s/bcaz3nnErYwzhJKuv5Ls/broker-vm-tenant-side/broker-papi-tables#action-statuses>) table.\
> \
> \*\*Required permission:\*\* \`broker\_action\`.<br>

```json
{"openapi":"3.0.3","info":{"title":"Cortex Broker Public API (tenant-side)","version":"1.0.0"},"tags":[{"name":"actions","description":"Poll the status of asynchronous actions that mutating broker\nendpoints return (e.g., edit, set applet config, lifecycle).\n"}],"servers":[{"url":"https://api-{fqdn}","description":"Cortex tenant base URL","variables":{"fqdn":{"default":"cortex.paloaltonetworks.com","description":"Fully qualified domain name of the Cortex tenant."}}}],"security":[{"XDRAuth":[],"XDRAuthToken":[]}],"components":{"securitySchemes":{"XDRAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"The tenant API key value, sent as the literal `Authorization`\nheader value (no `Bearer ` prefix).\n"}},"schemas":{"ActionStatusResponse":{"description":"Status payload returned by `getActionStatus`. The single `status` field reflects the current state of the asynchronous broker action.\n","type":"object","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/BrokerActionStatus"}}},"BrokerActionStatus":{"type":"string","description":"Possible states of an asynchronous broker action.","enum":["SUBMITTED","IN_PROGRESS","COMPLETED","UP_TO_DATE","FAILED","NOT_AVAILABLE"]},"PapiErrorResponse":{"type":"object","description":"Canonical error envelope returned by every non-2xx response on\nthis surface.\n","required":["description"],"properties":{"description":{"type":"string","description":"Human-readable error message."},"errors":{"type":"array","description":"Per-field validation failures. Present only on\n`400 Bad Request` responses originating from Pydantic schema\nvalidation; otherwise omitted.\n","items":{"$ref":"#/components/schemas/PapiFieldError"}}}},"PapiFieldError":{"description":"One entry in the `errors` array of a `400 Bad Request` response — a Pydantic per-field validation failure.\n","type":"object","required":["field","message"],"properties":{"field":{"type":"string","description":"Dotted path to the offending field within the request body,\nusing ` -> ` as separator for nested keys\n(e.g., `proxy -> type`, `upgrade_window -> days -> 0`).\n"},"message":{"type":"string","description":"Pydantic validation message."}}}},"responses":{"Unauthorized":{"description":"Missing or invalid `Authorization` / `x-xdr-auth-id` credentials.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PapiErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server-side failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PapiErrorResponse"}}}}}},"paths":{"/public_api/v1/brokers/action_status/{action_id}/":{"get":{"tags":["actions"],"operationId":"getActionStatus","summary":"Poll the status of an asynchronous broker action","description":"Return the current status of an action previously enqueued by an\nedit, applet, or lifecycle endpoint. Callers should poll with\nmoderate backoff; typical actions complete in seconds, slow ones\n(upgrade, applet activation requiring image pull) in minutes.\n\nSee the [Action Statuses](https://app.gitbook.com/s/bcaz3nnErYwzhJKuv5Ls/broker-vm-tenant-side/broker-papi-tables#action-statuses) table.\n\n**Required permission:** `broker_action`.\n","parameters":[{"name":"action_id","in":"path","required":true,"description":"The opaque action identifier returned by a prior mutating call.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Current action status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionStatusResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Authenticated caller lacks the `broker_action` permission.\n(This read-only poll endpoint performs no cluster-member\ncheck, so the shared cluster-member `403` wording does not\napply here.)\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PapiErrorResponse"}}}},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cortex-docs.paloaltonetworks.com/xdr-3-api/broker-vm-tenant-side/actions.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
