naftiko: 1.0.0-alpha2 info: label: Portkey API — Usage Limits Policies description: 'Portkey API — Usage Limits Policies. 7 operations. Lead operation: Create Usage Limits Policy. Self-contained Naftiko capability covering one Portkey business surface.' tags: - Portkey - Usage Limits Policies created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PORTKEY_API_KEY: PORTKEY_API_KEY capability: consumes: - type: http namespace: portkey-usage-limits-policies baseUri: https://api.portkey.ai/v1 description: Portkey API — Usage Limits Policies business capability. Self-contained, no shared references. resources: - name: policies-usage-limits path: /policies/usage-limits operations: - name: createusagelimitspolicy method: POST description: Create Usage Limits Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: listusagelimitspolicies method: GET description: List Usage Limits Policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: status in: query type: string description: Filter by status - name: type in: query type: string description: Filter by policy type - name: policies-usage-limits-policyUsageLimitsId path: /policies/usage-limits/{policyUsageLimitsId} operations: - name: getusagelimitspolicy method: GET description: Get Usage Limits Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: status in: query type: string description: Filter by status - name: include_usage in: query type: boolean description: Include usage information for each value key - name: updateusagelimitspolicy method: PUT description: Update Usage Limits Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteusagelimitspolicy method: DELETE description: Delete Usage Limits Policy outputRawFormat: json outputParameters: - name: result type: object value: $. - name: policies-usage-limits-policyUsageLimitsId-entities path: /policies/usage-limits/{policyUsageLimitsId}/entities operations: - name: listusagelimitspolicyentities method: GET description: List Usage Limits Policy Entities outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: status in: query type: string description: Filter by entity usage status - name: search in: query type: string description: Filter entities by value key - name: page_size in: query type: integer description: Number of items per page - name: policies-usage-limits-policyUsageLimitsId-entities-entityId-reset path: /policies/usage-limits/{policyUsageLimitsId}/entities/{entityId}/reset operations: - name: resetusagelimitspolicyentity method: PUT description: Reset Usage Limits Policy Entity outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.PORTKEY_API_KEY}}' exposes: - type: rest namespace: portkey-usage-limits-policies-rest port: 8080 description: REST adapter for Portkey API — Usage Limits Policies. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/policies/usage-limits name: policies-usage-limits description: REST surface for policies-usage-limits. operations: - method: POST name: createusagelimitspolicy description: Create Usage Limits Policy call: portkey-usage-limits-policies.createusagelimitspolicy with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listusagelimitspolicies description: List Usage Limits Policies call: portkey-usage-limits-policies.listusagelimitspolicies with: status: rest.status type: rest.type outputParameters: - type: object mapping: $. - path: /v1/policies/usage-limits/{policyusagelimitsid} name: policies-usage-limits-policyusagelimitsid description: REST surface for policies-usage-limits-policyUsageLimitsId. operations: - method: GET name: getusagelimitspolicy description: Get Usage Limits Policy call: portkey-usage-limits-policies.getusagelimitspolicy with: status: rest.status include_usage: rest.include_usage outputParameters: - type: object mapping: $. - method: PUT name: updateusagelimitspolicy description: Update Usage Limits Policy call: portkey-usage-limits-policies.updateusagelimitspolicy with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteusagelimitspolicy description: Delete Usage Limits Policy call: portkey-usage-limits-policies.deleteusagelimitspolicy outputParameters: - type: object mapping: $. - path: /v1/policies/usage-limits/{policyusagelimitsid}/entities name: policies-usage-limits-policyusagelimitsid-entities description: REST surface for policies-usage-limits-policyUsageLimitsId-entities. operations: - method: GET name: listusagelimitspolicyentities description: List Usage Limits Policy Entities call: portkey-usage-limits-policies.listusagelimitspolicyentities with: status: rest.status search: rest.search page_size: rest.page_size outputParameters: - type: object mapping: $. - path: /v1/policies/usage-limits/{policyusagelimitsid}/entities/{entityid}/reset name: policies-usage-limits-policyusagelimitsid-entities-entityid-reset description: REST surface for policies-usage-limits-policyUsageLimitsId-entities-entityId-reset. operations: - method: PUT name: resetusagelimitspolicyentity description: Reset Usage Limits Policy Entity call: portkey-usage-limits-policies.resetusagelimitspolicyentity outputParameters: - type: object mapping: $. - type: mcp namespace: portkey-usage-limits-policies-mcp port: 9090 transport: http description: MCP adapter for Portkey API — Usage Limits Policies. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-usage-limits-policy description: Create Usage Limits Policy hints: readOnly: false destructive: false idempotent: false call: portkey-usage-limits-policies.createusagelimitspolicy with: body: tools.body outputParameters: - type: object mapping: $. - name: list-usage-limits-policies description: List Usage Limits Policies hints: readOnly: true destructive: false idempotent: true call: portkey-usage-limits-policies.listusagelimitspolicies with: status: tools.status type: tools.type outputParameters: - type: object mapping: $. - name: get-usage-limits-policy description: Get Usage Limits Policy hints: readOnly: true destructive: false idempotent: true call: portkey-usage-limits-policies.getusagelimitspolicy with: status: tools.status include_usage: tools.include_usage outputParameters: - type: object mapping: $. - name: update-usage-limits-policy description: Update Usage Limits Policy hints: readOnly: false destructive: false idempotent: true call: portkey-usage-limits-policies.updateusagelimitspolicy with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-usage-limits-policy description: Delete Usage Limits Policy hints: readOnly: false destructive: true idempotent: true call: portkey-usage-limits-policies.deleteusagelimitspolicy outputParameters: - type: object mapping: $. - name: list-usage-limits-policy-entities description: List Usage Limits Policy Entities hints: readOnly: true destructive: false idempotent: true call: portkey-usage-limits-policies.listusagelimitspolicyentities with: status: tools.status search: tools.search page_size: tools.page_size outputParameters: - type: object mapping: $. - name: reset-usage-limits-policy-entity description: Reset Usage Limits Policy Entity hints: readOnly: false destructive: false idempotent: true call: portkey-usage-limits-policies.resetusagelimitspolicyentity outputParameters: - type: object mapping: $.