Bindler Ai Act Classify API
The Ai Act Classify API from Bindler — 1 operation(s) for ai act classify.
The Ai Act Classify API from Bindler — 1 operation(s) for ai act classify.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/bindler-co:bindler-co-ai-act-classify-api"
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.
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: 3.2.0
info:
title: Bindler Ai Act Classify API
version: 1.0.0
description: 'Three regulation calculators as JSON endpoints: EU AI Act classification (Regulation (EU) 2024/1689), CBAM certificate cost 2026 to 2034 (Regulation (EU) 2023/956) and the UAE Corporate Tax computation (Federal Decree-Law No. 47 of 2022). Same code as the free browser tools at bindler.co, generated from them at every build. Free tier: 25 calls a day per IP, no account. Unlimited: $19 a month key from Gumroad. Facts only, the instrument cited in every response; not legal or tax advice. Docs: https://bindler.co/api/'
contact:
name: Bindler
url: https://bindler.co/api/
email: bindler540@gmail.com
servers:
- url: https://bindler.co/api/v1
security:
- ApiKey: []
- ApiKeyQuery: []
- {}
tags:
- name: Ai Act Classify
paths:
/ai-act-classify:
get:
summary: Classify one AI system under the EU AI Act, query parameters
operationId: aiActClassifyGet
description: The same classifier as POST, with every field sent as a query parameter instead of a JSON body. Omitted fields take their defaults.
parameters:
- name: name
in: query
required: false
description: Label for the AI system, free text up to 120 characters, echoed back in the input block; it does not change the classification. Default Unnamed system.
schema:
type: string
- name: scope
in: query
required: false
description: 'Whether the system is in scope under Article 2: not military or national security only, not research only, not personal non-professional use. Default Yes; No returns Out of scope.'
schema:
type: string
enum:
- 'Yes'
- 'No'
- name: role
in: query
required: false
description: 'Your role in the value chain (Article 3), which selects the obligation set: Provider (Article 16), Deployer (Articles 26 and 27), Importer or Distributor (Articles 23 and 24). Default Provider.'
schema:
type: string
enum:
- Provider
- Deployer
- Importer
- Distributor
- name: prohib
in: query
required: false
description: The Article 5 prohibited practice the system falls under, such as 5(1)(c) Social scoring; a prefix is enough. Default None. Any practice returns PROHIBITED, banned since 2 February 2025.
schema:
type: string
- name: annex
in: query
required: false
description: Annex III entry such as 4(a)
schema:
type: string
- name: prof
in: query
required: false
description: Whether the system performs profiling of natural persons. An Annex III system that profiles is high-risk and cannot rely on the Article 6(3) exemption. Default Yes.
schema:
type: string
enum:
- 'Yes'
- 'No'
- name: ex
in: query
required: false
description: 'Whether the Article 6(3) exemption is claimed: narrow procedural task, improving the result of prior human work, pattern detection without replacing human assessment, or a preparatory task. Default No.'
schema:
type: string
enum:
- 'Yes'
- 'No'
- name: a61
in: query
required: false
description: 'Whether the system is a safety component of an Annex I product subject to third-party conformity assessment (Article 6(1)): high-risk, applying from 2 August 2027. Default No.'
schema:
type: string
enum:
- 'Yes'
- 'No'
- name: gpai
in: query
required: false
description: Whether this is a general-purpose AI model (Article 3(63)), which brings the Article 53 duties and Article 55 where systemic risk is presumed. Default No.
schema:
type: string
enum:
- 'Yes'
- 'No'
- name: a50
in: query
required: false
description: 'Whether an Article 50 transparency case applies: the system interacts with people, generates synthetic audio, image, video or text, does emotion recognition or biometric categorisation, or produces deep fakes. Default No. On its own it returns Limited risk (transparency); on a high-risk system it adds the Article 50 duties to the obligation set.'
schema:
type: string
enum:
- 'Yes'
- 'No'
- name: pre
in: query
required: false
description: 'Whether the system was placed on the market before 2 August 2026, which moves the date the duties apply under the Article 111 transitional rules: a high-risk system only on a significant change in design after that date (Article 111(2)), a general-purpose AI model from 2 August 2027 (Article 111(3)). Default No.'
schema:
type: string
enum:
- 'Yes'
- 'No'
- name: turnover
in: query
required: false
description: Worldwide annual turnover in EUR, optional, used only for the fine ceiling in Article 99, which is the higher of the fixed amount and the percentage of turnover.
schema:
type: number
responses:
'200':
description: Classification, obligations, applies_from, max_fine_eur, input, basis and docs.
content:
application/json:
schema:
type: object
description: The classification result. Every call returns all seven keys.
properties:
input:
type: object
description: 'The normalised inputs the classification ran on, echoed back. Keys: name, role, scope, gpai, annex, prohib, a61, prof, ex, a50, pre and turn. Yes/No fields are normalised to Yes or No, annex and prohib to a full Annex III or Article 5 entry, and turnover is echoed as the number turn.'
properties: {}
additionalProperties: true
classification:
type: string
description: The risk class the Regulation puts the system in.
enum:
- Out of scope
- PROHIBITED (Article 5)
- High-risk
- General-purpose AI model
- Limited risk (transparency)
- Minimal risk
obligations:
type: string
description: The duties that follow from the class, with the article numbers, as one semicolon-separated sentence.
applies_from:
type: string
description: 'The date those duties start to apply for this system: 2 February 2025 for a prohibited practice, 2 August 2025 or 2 August 2027 for a general-purpose model, 2 August 2026 or 2 August 2027 for high-risk, the Article 111(2) significant-change wording for a system on the market before 2 August 2026, or n/a when out of scope.'
max_fine_eur:
type: number
description: 'The Article 99 ceiling in EUR: the higher of the fixed amount (35 million for a prohibited practice, 15 million otherwise) and the percentage of worldwide turnover (7 percent or 3 percent). Zero where no fine attaches, that is out of scope and minimal risk.'
basis:
type: string
description: The instrument and articles the answer rests on, with the note that it is not legal advice.
docs:
type: string
description: Link to the documentation section for this endpoint, https://bindler.co/api/#ai-act-classify
'400':
description: 'Bad request: the body was not valid JSON, or annex or prohib was sent with a value that matches no entry. The allowed list is returned with the error in the second case.'
content:
application/json:
schema:
type: object
description: Error body returned for an unusable request.
properties:
error:
type: string
description: 'What was wrong: send JSON or query parameters, or that annex or prohib must be one of the listed entries.'
allowed:
type: array
description: Every accepted value for the field that failed, the Annex III entries for annex or the Article 5 practices for prohib. Present only on that error.
items:
type: string
'401':
description: 'Missing or invalid key: a value shaped like a Gumroad licence key was sent in x-api-key or ?key= and Gumroad did not verify it (refunded, charged back or cancelled purchases count as invalid).'
content:
application/json:
schema:
type: object
description: Error body returned when the presented licence key does not verify.
properties:
error:
type: string
description: Always the text invalid key.
enum:
- invalid key
docs:
type: string
description: Link to the API documentation page, https://bindler.co/api/
'429':
description: 'Free tier exhausted: more than 25 active minutes of calls from this IP in the current UTC day, and no verified key was sent. Send a key to remove the limit.'
headers:
x-ratelimit-limit:
description: The free tier ceiling, the string 25.
schema:
type: string
x-ratelimit-remaining:
description: Remaining free calls, the string 0 on this response.
schema:
type: string
content:
application/json:
schema:
type: object
description: Error body returned when the free per-IP allowance is spent.
properties:
error:
type: string
description: Explains the free tier ceiling and how to send a key.
docs:
type: string
description: Link to the API documentation page, https://bindler.co/api/
tags:
- Ai Act Classify
post:
summary: Classify one AI system under the EU AI Act
operationId: aiActClassify
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
description: Label for the AI system, free text up to 120 characters, echoed back in the input block; it does not change the classification. Default Unnamed system.
type: string
scope:
description: 'Whether the system is in scope under Article 2: not military or national security only, not research only, not personal non-professional use. Default Yes; No returns Out of scope.'
type: string
enum:
- 'Yes'
- 'No'
role:
description: 'Your role in the value chain (Article 3), which selects the obligation set: Provider (Article 16), Deployer (Articles 26 and 27), Importer or Distributor (Articles 23 and 24). Default Provider.'
type: string
enum:
- Provider
- Deployer
- Importer
- Distributor
prohib:
description: The Article 5 prohibited practice the system falls under, such as 5(1)(c) Social scoring; a prefix is enough. Default None. Any practice returns PROHIBITED, banned since 2 February 2025.
type: string
annex:
type: string
description: Annex III entry such as 4(a)
prof:
description: Whether the system performs profiling of natural persons. An Annex III system that profiles is high-risk and cannot rely on the Article 6(3) exemption. Default Yes.
type: string
enum:
- 'Yes'
- 'No'
ex:
description: 'Whether the Article 6(3) exemption is claimed: narrow procedural task, improving the result of prior human work, pattern detection without replacing human assessment, or a preparatory task. Default No.'
type: string
enum:
- 'Yes'
- 'No'
a61:
description: 'Whether the system is a safety component of an Annex I product subject to third-party conformity assessment (Article 6(1)): high-risk, applying from 2 August 2027. Default No.'
type: string
enum:
- 'Yes'
- 'No'
gpai:
description: Whether this is a general-purpose AI model (Article 3(63)), which brings the Article 53 duties and Article 55 where systemic risk is presumed. Default No.
type: string
enum:
- 'Yes'
- 'No'
a50:
description: 'Whether an Article 50 transparency case applies: the system interacts with people, generates synthetic audio, image, video or text, does emotion recognition or biometric categorisation, or produces deep fakes. Default No. On its own it returns Limited risk (transparency); on a high-risk system it adds the Article 50 duties to the obligation set.'
type: string
enum:
- 'Yes'
- 'No'
pre:
description: 'Whether the system was placed on the market before 2 August 2026, which moves the date the duties apply under the Article 111 transitional rules: a high-risk system only on a significant change in design after that date (Article 111(2)), a general-purpose AI model from 2 August 2027 (Article 111(3)). Default No.'
type: string
enum:
- 'Yes'
- 'No'
turnover:
description: Worldwide annual turnover in EUR, optional, used only for the fine ceiling in Article 99, which is the higher of the fixed amount and the percentage of turnover.
type: number
example:
name: CV screening
role: Provider
annex: 4(a)
turnover: 50000000
responses:
'200':
description: Classification, obligations, applies_from, max_fine_eur, input, basis and docs.
content:
application/json:
schema:
type: object
description: The classification result. Every call returns all seven keys.
properties:
input:
type: object
description: 'The normalised inputs the classification ran on, echoed back. Keys: name, role, scope, gpai, annex, prohib, a61, prof, ex, a50, pre and turn. Yes/No fields are normalised to Yes or No, annex and prohib to a full Annex III or Article 5 entry, and turnover is echoed as the number turn.'
properties: {}
additionalProperties: true
classification:
type: string
description: The risk class the Regulation puts the system in.
enum:
- Out of scope
- PROHIBITED (Article 5)
- High-risk
- General-purpose AI model
- Limited risk (transparency)
- Minimal risk
obligations:
type: string
description: The duties that follow from the class, with the article numbers, as one semicolon-separated sentence.
applies_from:
type: string
description: 'The date those duties start to apply for this system: 2 February 2025 for a prohibited practice, 2 August 2025 or 2 August 2027 for a general-purpose model, 2 August 2026 or 2 August 2027 for high-risk, the Article 111(2) significant-change wording for a system on the market before 2 August 2026, or n/a when out of scope.'
max_fine_eur:
type: number
description: 'The Article 99 ceiling in EUR: the higher of the fixed amount (35 million for a prohibited practice, 15 million otherwise) and the percentage of worldwide turnover (7 percent or 3 percent). Zero where no fine attaches, that is out of scope and minimal risk.'
basis:
type: string
description: The instrument and articles the answer rests on, with the note that it is not legal advice.
docs:
type: string
description: Link to the documentation section for this endpoint, https://bindler.co/api/#ai-act-classify
'400':
description: 'Bad request: the body was not valid JSON, or annex or prohib was sent with a value that matches no entry. The allowed list is returned with the error in the second case.'
content:
application/json:
schema:
type: object
description: Error body returned for an unusable request.
properties:
error:
type: string
description: 'What was wrong: send JSON or query parameters, or that annex or prohib must be one of the listed entries.'
allowed:
type: array
description: Every accepted value for the field that failed, the Annex III entries for annex or the Article 5 practices for prohib. Present only on that error.
items:
type: string
'401':
description: 'Missing or invalid key: a value shaped like a Gumroad licence key was sent in x-api-key or ?key= and Gumroad did not verify it (refunded, charged back or cancelled purchases count as invalid).'
content:
application/json:
schema:
type: object
description: Error body returned when the presented licence key does not verify.
properties:
error:
type: string
description: Always the text invalid key.
enum:
- invalid key
docs:
type: string
description: Link to the API documentation page, https://bindler.co/api/
'429':
description: 'Free tier exhausted: more than 25 active minutes of calls from this IP in the current UTC day, and no verified key was sent. Send a key to remove the limit.'
headers:
x-ratelimit-limit:
description: The free tier ceiling, the string 25.
schema:
type: string
x-ratelimit-remaining:
description: Remaining free calls, the string 0 on this response.
schema:
type: string
content:
application/json:
schema:
type: object
description: Error body returned when the free per-IP allowance is spent.
properties:
error:
type: string
description: Explains the free tier ceiling and how to send a key.
docs:
type: string
description: Link to the API documentation page, https://bindler.co/api/
tags:
- Ai Act Classify
options:
summary: CORS preflight for the AI Act endpoint
operationId: aiActClassifyOptions
description: Answers the browser preflight with the allowed origin, methods and headers, and no body.
security: []
responses:
'204':
description: CORS preflight answered with no body. The endpoint replies to OPTIONS before any key check or rate limiting.
headers:
access-control-allow-origin:
description: Always the wildcard star, any origin may call.
schema:
type: string
access-control-allow-methods:
description: The methods allowed, the string GET, POST, OPTIONS.
schema:
type: string
access-control-allow-headers:
description: The headers allowed, content-type and x-api-key.
schema:
type: string
tags:
- Ai Act Classify
components:
securitySchemes:
ApiKey:
type: apiKey
in: header
name: x-api-key
description: Gumroad licence key for the product bindler-api, sent in the x-api-key header. Keys that do not match the four-group licence pattern are ignored and the call falls through to the free tier.
ApiKeyQuery:
type: apiKey
in: query
name: key
description: The same Gumroad licence key passed as a query parameter instead of the header, accepted by every endpoint.