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/weclapp:weclapp-article-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: weclapp REST Article API
description: weclapp is a German cloud ERP / CRM / commerce platform.
version: v1
contact:
name: weclapp
url: https://www.weclapp.com/api/
servers:
- url: https://{tenant}.weclapp.com/webapp/api/v1
description: Per-tenant weclapp REST API (v1). Replace {tenant} with your weclapp subdomain.
variables:
tenant:
default: your-tenant
description: Your weclapp tenant subdomain (for example, the "acme" in acme.weclapp.com).
security:
- authenticationToken: []
tags:
- name: Article
description: Articles / products in the catalog.
paths:
/article:
get:
operationId: getArticles
tags:
- Article
summary: List articles
parameters:
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Properties'
- $ref: '#/components/parameters/AdditionalProperties'
responses:
'200':
description: A page of articles.
content:
application/json:
schema:
$ref: '#/components/schemas/ArticleList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createArticle
tags:
- Article
summary: Create an article
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Article'
responses:
'201':
description: The created article.
content:
application/json:
schema:
$ref: '#/components/schemas/Article'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/article/count:
get:
operationId: countArticles
tags:
- Article
summary: Count articles
responses:
'200':
description: The count result.
content:
application/json:
schema:
$ref: '#/components/schemas/CountResult'
'401':
$ref: '#/components/responses/Unauthorized'
/article/id/{id}:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: getArticleById
tags:
- Article
summary: Get an article
responses:
'200':
description: The requested article.
content:
application/json:
schema:
$ref: '#/components/schemas/Article'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateArticle
tags:
- Article
summary: Update an article
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Article'
responses:
'200':
description: The updated article.
content:
application/json:
schema:
$ref: '#/components/schemas/Article'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteArticle
tags:
- Article
summary: Delete an article
responses:
'204':
description: The article was deleted.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
parameters:
Page:
name: page
in: query
required: false
description: 1-based page number for paginated list results.
schema:
type: integer
minimum: 1
default: 1
AdditionalProperties:
name: additionalProperties
in: query
required: false
description: Comma-separated list of computed / related properties to include in the response.
schema:
type: string
PageSize:
name: pageSize
in: query
required: false
description: Number of results per page.
schema:
type: integer
minimum: 1
default: 100
Id:
name: id
in: path
required: true
description: The unique identifier of the entity.
schema:
type: string
Sort:
name: sort
in: query
required: false
description: Property to sort by. Prefix with a minus sign for descending order (for example, `-createdDate`).
schema:
type: string
Properties:
name: properties
in: query
required: false
description: Comma-separated list of properties to include in the response.
schema:
type: string
responses:
NotFound:
description: The requested entity was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Missing or invalid AuthenticationToken.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: The request was invalid (for example, an unknown or invalid property).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
Error:
type: object
description: Error envelope (modeled; consult live Swagger for the exact shape).
properties:
messages:
type: array
items:
type: object
properties:
type:
type: string
message:
type: string
Article:
type: object
description: Catalog article / product. Modeled subset of documented fields.
properties:
id:
type: string
articleNumber:
type: string
description: SKU / article number.
name:
type: string
description:
type: string
unitId:
type: string
articleType:
type: string
active:
type: boolean
createdDate:
type: integer
format: int64
lastModifiedDate:
type: integer
format: int64
CountResult:
type: object
properties:
result:
type: integer
description: The number of matching entities.
ArticleList:
type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/Article'
securitySchemes:
authenticationToken:
type: apiKey
in: header
name: AuthenticationToken
description: 'API token issued per weclapp user under "My Settings > API". Sent in the `AuthenticationToken` request header. Requests must also send `Accept: application/json`; `POST` and `PUT` requests must send `Content-Type: application/json`.'