Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/b3-user-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
OpenAPI Specification
openapi: 3.2.0
info:
description: Workflow management API for B3OS
title: B3OS Workflow User API
version: '1.0'
tags:
- name: user
paths:
/v1/user/interests:
get:
description: List the authenticated user's captured interests (strongest first)
parameters:
- description: Number of items (default 20, max 100)
in: query
name: limit
schema:
type: integer
- description: Offset for pagination (default 0)
in: query
name: offset
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListUserInterestsSuccessResponse'
description: OK
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Unauthorized
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Internal Server Error
tags:
- user
post:
description: Add an interest for the authenticated user
requestBody:
content:
application/json:
schema:
oneOf:
- type: object
- $ref: '#/components/schemas/internal_app_api_http_v1_userinterests.addInterestRequest'
summary: request
description: Interest to add
description: Interest to add
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserInterestActionSuccessResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Bad Request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Unauthorized
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Forbidden
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Internal Server Error
tags:
- user
/v1/user/interests/settings:
get:
description: Get the authenticated user's interest-tag opt-in (B3-4674)
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserInterestSettingsSuccessResponse'
description: OK
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Unauthorized
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Internal Server Error
tags:
- user
put:
description: Enable or disable the authenticated user's interest tags (B3-4674)
requestBody:
content:
application/json:
schema:
type: object
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserInterestSettingsSuccessResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Bad Request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Unauthorized
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Internal Server Error
tags:
- user
/v1/user/interests/{tagId}:
delete:
description: Remove an interest for the authenticated user
parameters:
- description: Interest tag id to remove
in: path
name: tagId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserInterestActionSuccessResponse'
description: OK
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Unauthorized
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse'
description: Internal Server Error
tags:
- user
components:
schemas:
github_com_b3-fun_b3-mono_services_b3os-workflow_internal_app_api_http.ErrorResponse:
properties:
code:
type: integer
details:
items: {}
type: array
uniqueItems: false
message:
type: string
requestId:
type: string
type: object
internal_app_api_http_v1_userinterests.addInterestRequest:
properties:
value:
type: string
required:
- value
type: object
UserInterestSettingsSuccessResponse:
properties:
code:
example: 200
type: integer
data:
$ref: '#/components/schemas/UserInterestSettings'
message:
example: success
type: string
requestId:
example: req_abc123
type: string
type: object
ListUserInterestsSuccessResponse:
properties:
code:
example: 200
type: integer
data:
$ref: '#/components/schemas/PaginatedData-schemas_UserInterest'
message:
example: success
type: string
requestId:
example: req_abc123
type: string
type: object
UserInterestActionSuccessResponse:
properties:
code:
example: 200
type: integer
data:
additionalProperties:
type: string
type: object
message:
example: success
type: string
requestId:
example: req_abc123
type: string
type: object
UserInterest:
properties:
kind:
description: app | tag | interest (display badge)
example: interest
type: string
lastSeen:
description: last reinforced
type: string
source:
description: conversation, manual, behavior, …
example: conversation
type: string
strength:
description: 0-1 decayed effective score
example: 0.82
type: number
tagId:
description: stable id, used to delete
example: interest_ab12cd34ef56
type: string
value:
description: the interest itself
example: NVDA
type: string
type: object
PaginatedData-schemas_UserInterest:
properties:
hasMore:
type: boolean
items:
items:
$ref: '#/components/schemas/UserInterest'
type: array
uniqueItems: false
limit:
type: integer
offset:
type: integer
type: object
UserInterestSettings:
properties:
enabled:
description: per-user, default off
example: false
type: boolean
type: object