# POST /v4/internal/key-value-stores/quotas

_Merkl API_

Grant a self-serve creator quota (BackOffice only)

## Request body

**`application/json`**
```json
{
  "type": "object",
  "properties": {
    "ownerAddress": {
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "description": "Grantee address",
      "type": "string"
    },
    "maxConfigs": {
      "minimum": 1,
      "description": "Max configs this user may own",
      "type": "number"
    },
    "maxSizeLimit": {
      "minimum": 1,
      "maximum": 1000000,
      "description": "Ceiling on per-config sizeLimit",
      "type": "number"
    },
    "allowedTypes": {
      "minItems": 1,
      "description": "Config types this user may create",
      "type": "array",
      "items": {
        "description": "Semantic type — determines the required JSON shape of entry values",
        "anyOf": [
          {
            "const": "WHITELIST",
            "type": "string"
          },
          {
            "const": "BLACKLIST",
            "type": "string"
          },
          {
            "const": "BOOST",
            "type": "string"
          },
          {
            "const": "REFERRER",
            "type": "string"
          },
          {
            "const": "FORWARDER",
            "type": "string"
          },
          {
            "const": "APR",
            "type": "string"
          }
        ]
      }
    }
  },
  "required": [
    "ownerAddress",
    "maxConfigs",
    "maxSizeLimit",
    "allowedTypes"
  ]
}
```
**`application/x-www-form-urlencoded`**
```json
{
  "type": "object",
  "properties": {
    "ownerAddress": {
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "description": "Grantee address",
      "type": "string"
    },
    "maxConfigs": {
      "minimum": 1,
      "description": "Max configs this user may own",
      "type": "number"
    },
    "maxSizeLimit": {
      "minimum": 1,
      "maximum": 1000000,
      "description": "Ceiling on per-config sizeLimit",
      "type": "number"
    },
    "allowedTypes": {
      "minItems": 1,
      "description": "Config types this user may create",
      "type": "array",
      "items": {
        "description": "Semantic type — determines the required JSON shape of entry values",
        "anyOf": [
          {
            "const": "WHITELIST",
            "type": "string"
          },
          {
            "const": "BLACKLIST",
            "type": "string"
          },
          {
            "const": "BOOST",
            "type": "string"
          },
          {
            "const": "REFERRER",
            "type": "string"
          },
          {
            "const": "FORWARDER",
            "type": "string"
          },
          {
            "const": "APR",
            "type": "string"
          }
        ]
      }
    }
  },
  "required": [
    "ownerAddress",
    "maxConfigs",
    "maxSizeLimit",
    "allowedTypes"
  ]
}
```
**`multipart/form-data`**
```json
{
  "type": "object",
  "properties": {
    "ownerAddress": {
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "description": "Grantee address",
      "type": "string"
    },
    "maxConfigs": {
      "minimum": 1,
      "description": "Max configs this user may own",
      "type": "number"
    },
    "maxSizeLimit": {
      "minimum": 1,
      "maximum": 1000000,
      "description": "Ceiling on per-config sizeLimit",
      "type": "number"
    },
    "allowedTypes": {
      "minItems": 1,
      "description": "Config types this user may create",
      "type": "array",
      "items": {
        "description": "Semantic type — determines the required JSON shape of entry values",
        "anyOf": [
          {
            "const": "WHITELIST",
            "type": "string"
          },
          {
            "const": "BLACKLIST",
            "type": "string"
          },
          {
            "const": "BOOST",
            "type": "string"
          },
          {
            "const": "REFERRER",
            "type": "string"
          },
          {
            "const": "FORWARDER",
            "type": "string"
          },
          {
            "const": "APR",
            "type": "string"
          }
        ]
      }
    }
  },
  "required": [
    "ownerAddress",
    "maxConfigs",
    "maxSizeLimit",
    "allowedTypes"
  ]
}
```

## Responses

- **200** Response for status 200

## Example request

```bash
curl -X POST "https://api.merkl.xyz//v4/internal/key-value-stores/quotas" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
```