naftiko: 1.0.0-alpha2 info: label: Runloop Agents (agents) description: Runloop agents capability covering one Runloop business surface. 6 operations. tags: - Runloop - Agents - AI Agents - Sandboxes created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: RUNLOOP_API_KEY: RUNLOOP_API_KEY capability: consumes: - type: http namespace: agents-agents baseUri: https://api.runloop.ai description: Runloop agents business capability. Self-contained, no shared references. resources: - name: v1-agents path: /v1/agents operations: - name: createAgent method: POST description: Create an Agent. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: listAgents method: GET description: List Agents. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: The limit of items to return. Default is 20. Max is 5000. required: false - name: starting_after in: query type: string description: Load the next page of data starting after the item with the given ID. required: false - name: name in: query type: string description: Filter agents by name (partial match supported). required: false - name: is_public in: query type: boolean description: Filter agents by public visibility. required: false - name: search in: query type: string description: Search by agent ID or name. required: false - name: version in: query type: string description: Filter by version. Use 'latest' to get the most recently created agent. required: false - name: include_total_count in: query type: boolean description: If true (default), includes total_count in the response. Set to false to skip the count query for better performance on large datasets. required: false - name: v1-agents-devbox-counts path: /v1/agents/devbox_counts operations: - name: getAgentDevboxCounts method: GET description: Get Devbox counts by Agent. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: _ in: query type: string description: '' required: false - name: v1-agents-list-public path: /v1/agents/list_public operations: - name: listPublicAgents method: GET description: List Public Agents. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: The limit of items to return. Default is 20. Max is 5000. required: false - name: starting_after in: query type: string description: Load the next page of data starting after the item with the given ID. required: false - name: name in: query type: string description: Filter agents by name (partial match supported). required: false - name: search in: query type: string description: Search by agent ID or name. required: false - name: version in: query type: string description: Filter by version. Use 'latest' to get the most recently created agent. required: false - name: include_total_count in: query type: boolean description: If true (default), includes total_count in the response. Set to false to skip the count query for better performance on large datasets. required: false - name: v1-agents-id path: /v1/agents/{id} operations: - name: getAgent method: GET description: Get an Agent. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the Agent to retrieve. required: true - name: v1-agents-id-delete path: /v1/agents/{id}/delete operations: - name: deleteAgent method: POST description: Delete an Agent. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of the Agent to delete. required: true authentication: type: bearer value: '{{env.RUNLOOP_API_KEY}}' placement: header exposes: - type: rest namespace: agents-agents-rest port: 8080 description: REST adapter for Runloop agents. One Spectral-compliant resource per consumed operation. resources: - path: /v1/agents name: v1-agents description: REST surface for v1-agents. operations: - method: POST name: createAgent description: Create an Agent. call: agents-agents.createAgent with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listAgents description: List Agents. call: agents-agents.listAgents with: limit: rest.params.limit starting_after: rest.params.starting_after name: rest.params.name is_public: rest.params.is_public search: rest.params.search version: rest.params.version include_total_count: rest.params.include_total_count outputParameters: - type: object mapping: $. - path: /v1/agents/devbox_counts name: v1-agents-devbox-counts description: REST surface for v1-agents-devbox-counts. operations: - method: GET name: getAgentDevboxCounts description: Get Devbox counts by Agent. call: agents-agents.getAgentDevboxCounts with: _: rest.params._ outputParameters: - type: object mapping: $. - path: /v1/agents/list_public name: v1-agents-list-public description: REST surface for v1-agents-list-public. operations: - method: GET name: listPublicAgents description: List Public Agents. call: agents-agents.listPublicAgents with: limit: rest.params.limit starting_after: rest.params.starting_after name: rest.params.name search: rest.params.search version: rest.params.version include_total_count: rest.params.include_total_count outputParameters: - type: object mapping: $. - path: /v1/agents/{id} name: v1-agents-id description: REST surface for v1-agents-id. operations: - method: GET name: getAgent description: Get an Agent. call: agents-agents.getAgent with: id: rest.params.id outputParameters: - type: object mapping: $. - path: /v1/agents/{id}/delete name: v1-agents-id-delete description: REST surface for v1-agents-id-delete. operations: - method: POST name: deleteAgent description: Delete an Agent. call: agents-agents.deleteAgent with: id: rest.params.id outputParameters: - type: object mapping: $. - type: mcp namespace: agents-agents-mcp port: 9090 transport: http description: MCP adapter for Runloop agents. One tool per consumed operation. tools: - name: runloop-agents-agents-createAgent description: Create an Agent. hints: readOnly: false destructive: false idempotent: false call: agents-agents.createAgent with: body: tools.body outputParameters: - type: object mapping: $. - name: runloop-agents-agents-listAgents description: List Agents. hints: readOnly: true destructive: false idempotent: true call: agents-agents.listAgents with: limit: tools.limit starting_after: tools.starting_after name: tools.name is_public: tools.is_public search: tools.search version: tools.version include_total_count: tools.include_total_count outputParameters: - type: object mapping: $. - name: runloop-agents-agents-getAgentDevboxCounts description: Get Devbox counts by Agent. hints: readOnly: true destructive: false idempotent: true call: agents-agents.getAgentDevboxCounts with: _: tools._ outputParameters: - type: object mapping: $. - name: runloop-agents-agents-listPublicAgents description: List Public Agents. hints: readOnly: true destructive: false idempotent: true call: agents-agents.listPublicAgents with: limit: tools.limit starting_after: tools.starting_after name: tools.name search: tools.search version: tools.version include_total_count: tools.include_total_count outputParameters: - type: object mapping: $. - name: runloop-agents-agents-getAgent description: Get an Agent. hints: readOnly: true destructive: false idempotent: true call: agents-agents.getAgent with: id: tools.id outputParameters: - type: object mapping: $. - name: runloop-agents-agents-deleteAgent description: Delete an Agent. hints: readOnly: false destructive: false idempotent: false call: agents-agents.deleteAgent with: id: tools.id outputParameters: - type: object mapping: $.