For a given web service or graphql service: generate a CSV file that lists the: endpoint, action, resource, 
resource_schema, and the pp_authorization_method.

Examples:

| endpoint        | resource_type | resource_schema | action | pp_authorization_method |
|-----------------|---------------|-----------------|--------|-------------------------|
| GET /accounts   | account       | tenant_owned    | view   | is_authorized_many      |
| POST /account   | account       | tenant_owned    | update | is_authorized_many      |
| PUT /account    | account       | tenant_owned    | create | is_authorized_many      |
| DELETE /account | account       | tenant_owned    | delete | is_authorized_many      |


The attached CSV files include endpoints and mapping to the endpoint, action, resource, 
resource_schema, and the pp_authorization_method. Use them as a guide to create mapping for new service.


## AI Agent Guidelines

### endpoint
An `endpoint` is the URI path bound to a Flask service handler. In the example below,
the `AccountsDataloader.post` handler method is bound to the `POST '/account/dataloader'` endpoint.

For example:
```python
account_api = Blueprint('account_api', __name__)

class AccountsDataloader(ListView):
    """View for accounts dataloader."""

    model_class = Account
    list_entry_schema = AccountDetailSchema()

    def post(self):
        """Get accounts by ids.

        NOTE: This endpoint uses a POST method to allow for a larger list of query args.
        """
        ...

account_api.add_url_rule(
    '/account/dataloader',
    methods=['POST'],
    view_func=AccountsDataloader.as_view('accounts_dataloader')
)
```


### resource_type

A resource is an entity type that users are authorized to access. Example resources are

- account
- subaccount
- identity
- audience
- bank_info
- tax_info


### action

An "action" is a specific operation that a user or service wants to perform on a resource.

Example actions are:
- view
- update
- create
- delete

### resource_schema

A schema describes the entity that owns the resource. Granting access to the 
entity also grants access to the resource. For example, `ows-pdp` grants access to a
`tenant_owned_resource` by allowing a user to access the account or subaccount that owns the resource.

Here's the selected text converted to a table:

| Schema                             | Purpose                                                                        |
|------------------------------------|--------------------------------------------------------------------------------|
| tenant_owned_resource              | A resource that is only attached to a tenant.                                  |
| identity_owned_resource            | A resource that is only attached to an identity.                               |
| identity_and_tenant_owned_resource | A resource that can be attached to a tenant or an identity.                    |
| shared_resource                    | A resource that can be shared with a tenant or specific identity_id.           |
| None                               | A resource that is not tied to a specific tenant (e.g., account or subaccount) |

### pp_authorization_method

The PDP authorization method required to enable PP auth checks for the endpoint. The methods
include:

| Method                 | Description                                                                                             |
|------------------------|---------------------------------------------------------------------------------------------------------|
| is_authorized          | The endpoint authorized 1 resource at a time                                                            |
| is_authorized_many     | The endpoint authorizes more than 1 resource at a time. (e.g., dataloader endpoints)                    |
| get_authorized_tenants | The endpoint requires a list of tenants to add to a WHERE clause or filter before looking up resources. |
