# Policy APIs — Async

**Base URL:** `/api/v1/policies`

Provides asynchronous endpoints for creating, publishing, and importing policies. All async endpoints return `{ taskId, expectation }` with status 202 Accepted. Poll `GET /tasks/{taskId}` for the result.

**Authentication:** All endpoints require a valid JWT Bearer token (`Authorization: Bearer <token>`). Obtain a token via `POST /accounts/login`.

***

## Endpoints

| Method | Endpoint                                | Description                                                                                      | Auth Required |
| ------ | --------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------- |
| POST   | `/policies/push`                        | Creates a new policy (async). Poll `GET /tasks/{taskId}` for result.                             | Yes           |
| PUT    | `/policies/push/{policyId}/publish`     | Publishes a policy (async). Poll `GET /tasks/{taskId}` for result.                               | Yes           |
| POST   | `/policies/push/import/file`            | Imports a policy from a zip file (async). Poll `GET /tasks/{taskId}` for result.                 | Yes           |
| POST   | `/policies/push/import/message`         | Imports a policy from IPFS via Hedera message ID (async). Poll `GET /tasks/{taskId}` for result. | Yes           |
| POST   | `/policies/push/import/message/preview` | Previews a policy from IPFS (async)                                                              | Yes           |

***

## Endpoint Details

* [Creates New Policy](/docs/develop/policies/policy-related-apis-for-asynchronous-execution/creates-new-policy.md) — `POST /policies/push`
* [Publishing a Policy](/docs/develop/policies/policy-related-apis-for-asynchronous-execution/publishing-a-policy.md) — `PUT /policies/push/{policyId}/publish`
* [Importing a Policy from File](/docs/develop/policies/policy-related-apis-for-asynchronous-execution/importing-a-policy-from-file.md) — `POST /policies/push/import/file`
* [Importing a Policy from IPFS](/docs/develop/policies/policy-related-apis-for-asynchronous-execution/importing-a-policy-from-ipfs.md) — `POST /policies/push/import/message`
* [Policy Review](/docs/develop/policies/policy-related-apis-for-asynchronous-execution/policy-review.md) — `POST /policies/push/import/message/preview`


---

# Agent Instructions: 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:

```
GET https://guardian.hedera.com/docs/develop/policies/policy-related-apis-for-asynchronous-execution.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
