# Firebase Rules API API

> Firebase Rules API API on Apizie: 9 endpoints (Test `Source` for syntactic and semantic correctness. Issues present, if any, will be returned to the caller…, List the `Release` values for a project. This list may optionally be filtered by `Release` name, `Ruleset`…, Create a `Release`. Release names should reflect the developer's deployment practices. For example, the…, Get a `Ruleset` by name including the full `Source` contents., …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/analytics:googleapis-firebaserules/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `analytics:googleapis-firebaserules`
- Category: Analytics
- Status: byok
- Source: https://firebase.google.com/docs/storage/security
- Page: https://zieapi.vercel.app/api/analytics/googleapis-firebaserules
- OpenAPI: https://zieapi.vercel.app/api/analytics/googleapis-firebaserules/openapi.json

Creates and manages rules that determine when a Firebase Rules-enabled service should permit a request.

## Endpoints

### Test `Source` for syntactic and semantic correctness. Issues present, if any, will be returned to the caller…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firebaserules/firebaserules-projects-test` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Tests may either provide `source` or a `Ruleset` resource name. For tests against `source`, the resource name must refer to the… |
| body | object | yes | JSON request body |

### List the `Release` values for a project. This list may optionally be filtered by `Release` name, `Ruleset`…
`GET https://zieapi.vercel.app/v1/analytics:googleapis-firebaserules/firebaserules-projects-releases-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | Optional. `Release` filter. The list method supports filters with restrictions on the `Release.name`, and `Release.ruleset_name`. Example… |
| name | string | yes | Required. Resource name for the project. Format: `projects/{project_id}` |
| pageSize | integer | no | Optional. Page size to load. Maximum of 100. Defaults to 10. Note: `page_size` is just a hint and the service may choose to load fewer… |
| pageToken | string | no | Optional. Next page token for the next batch of `Release` instances. |

### Create a `Release`. Release names should reflect the developer's deployment practices. For example, the…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firebaserules/firebaserules-projects-releases-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Resource name for the project which owns this `Release`. Format: `projects/{project_id}` |
| body | object | yes | JSON request body |

### Get a `Ruleset` by name including the full `Source` contents.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-firebaserules/firebaserules-projects-rulesets-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Resource name for the ruleset to get. Format: `projects/{project_id}/rulesets/{ruleset_id}` |

### Update a `Release` via PATCH. Only updates to `ruleset_name` will be honored. `Release` rename is not…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firebaserules/firebaserules-projects-releases-patch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Resource name for the project which owns this `Release`. Format: `projects/{project_id}` |
| body | object | yes | JSON request body |

### Delete a `Ruleset` by resource name. If the `Ruleset` is referenced by a `Release` the operation will fail.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firebaserules/firebaserules-projects-rulesets-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Resource name for the ruleset to delete. Format: `projects/{project_id}/rulesets/{ruleset_id}` |

### Get the `Release` executable to use when enforcing rules.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-firebaserules/firebaserules-projects-releases-get-executable` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| executableVersion | string | no | Optional. The requested runtime executable version. Defaults to FIREBASE_RULES_EXECUTABLE_V1. |
| name | string | yes | Required. Resource name of the `Release`. Format: `projects/{project_id}/releases/{release_id}` |

### List `Ruleset` metadata only and optionally filter the results by `Ruleset` name. The full `Source` contents…
`GET https://zieapi.vercel.app/v1/analytics:googleapis-firebaserules/firebaserules-projects-rulesets-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | Optional. `Ruleset` filter. The list method supports filters with restrictions on `Ruleset.name`. Filters on `Ruleset.create_time` should… |
| name | string | yes | Required. Resource name for the project. Format: `projects/{project_id}` |
| pageSize | integer | no | Optional. Page size to load. Maximum of 100. Defaults to 10. Note: `page_size` is just a hint and the service may choose to load less than… |
| pageToken | string | no | Optional. Next page token for loading the next batch of `Ruleset` instances. |

### Create a `Ruleset` from `Source`. The `Ruleset` is given a unique generated name which is returned to the…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firebaserules/firebaserules-projects-rulesets-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Resource name for Project which owns this `Ruleset`. Format: `projects/{project_id}` |
| body | object | yes | JSON request body |

## Example
```
curl "https://zieapi.vercel.app/v1/analytics:googleapis-firebaserules/firebaserules-projects-test" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Firebase Rules API API?
Create a free Apizie key, then send POST https://zieapi.vercel.app/v1/analytics:googleapis-firebaserules/firebaserules-projects-test with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Firebase Rules API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Firebase Rules API itself also needs your own key from googleapis.com.

### Can AI agents use the Firebase Rules API API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key analytics:googleapis-firebaserules.

### What is the status of the Firebase Rules API API?
Needs your own provider key (bring your own key)
