---
title: "Bundle service"
method: GET
path: "/{service_path}/{resource}"
tags: ["Management API"]
---

# Bundle service

`GET /{service_path}/{resource}`

## Request

- The document declares no server URL.
- Auth: none required
- TypeScript: <https://skmtc.dev/open-policy-agent/apis/open-policy-agent-opa-management-apis/docs/:service_path/:resource/get.ts> (a function with typed inputs; its response is checked against the schema)

OPA expects the service to expose an API endpoint that serves bundles. The bundle API allows clients to download bundles at an arbitrary URL (in combination with `{service_path}`.
For example, using the *[configuration](https://www.openpolicyagent.org/docs/latest/configuration/) example* below will fetch bundles from *https//example.com/service/v1/somedir/bundle.tar.gz*. The URL is constructed as follows:

```
https://example.com/service/v1/somedir/bundle.tar.gz
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
services[0].url                resource
```

### Configuration example

```yaml
services:
  - name: acmecorp
   url: https://example.com/service/v1
   credentials:
     bearer:
       token: "bGFza2RqZmxha3NkamZsa2Fqc2Rsa2ZqYWtsc2RqZmtramRmYWxkc2tm"

bundles:
 authz:
  service: acmecorp
  resource: somedir/bundle.tar.gz
  persist: true
  polling:
    min_delay_seconds: 10
    max_delay_seconds: 20
  signing:
    keyid: my_global_key
    scope: read
```

## Path parameters

- `service_path` string, required
- `resource` string, required

## Response `200`

Success. You will find a gzip file is in the response's message body

---

[API](https://skmtc.dev/open-policy-agent/apis/open-policy-agent-opa-management-apis.md) - [All operations](https://skmtc.dev/open-policy-agent/apis/open-policy-agent-opa-management-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/open-policy-agent/apis/open-policy-agent-opa-management-apis/revisions/694d8aec2fc5?raw)
