Kanton Zürich Funktional API
The Funktional API from Kanton Zürich — 10 operation(s) for funktional.
The Funktional API from Kanton Zürich — 10 operation(s) for funktional.
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/zh-ch:zh-ch-funktional-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: Zh Ch Funktional API
version: '0.5'
contact:
name: Res Marti
email: res.marti@bi.zh.ch
description: 'Operations tagged Funktional across 2 of this provider''s published API definitions: bista-zh-ch-openapi.json, zh-ch-education-statistics-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: /basicapi
- url: https://www.bista.zh.ch/basicapi
description: Absolute form of the relative server /basicapi published on www.bista.zh.ch/basicapi/api-docs/
tags:
- name: Funktional
paths:
/cleanup:
post:
description: Deletes cache files that have not been modified for more than 150 days.
tags:
- Funktional
parameters:
- in: query
name: secret
schema:
type: string
required: true
description: Recache secret used to authorize cache cleanup
responses:
'200':
description: Cleanup completed; deleted files and file-level errors are returned.
'401':
description: Authentication failed.
'500':
description: The cache directory could not be scanned.
summary: Create cleanup
x-summary-source: derived
operationId: postCleanup
x-operation-id-source: derived
servers:
- url: /basicapi
/files/{fn}:
get:
description: Main route for getting data from a json file stored on the server
tags:
- Funktional
parameters:
- in: path
name: fn
schema:
type: string
required: true
description: name of a json-file in the assets folder without the ending
responses:
'200':
description: A successfull response, the api-server has returned usable data.
'501':
description: The requested resource could not be processed. There is probably no file by that name. Watch out for typos in the name provided.
summary: Get files by fn
x-summary-source: derived
operationId: getFilesByFn
x-operation-id-source: derived
post:
security:
- bearerAuth: []
description: Main route for posting data to a json file stored on the server, equivalent to a PUT route, also allows overwriting existing files
tags:
- Funktional
parameters:
- in: path
name: fn
schema:
type: string
required: true
description: name of a json-file in the assets folder without the ending
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: A successfull response, the api-server has returned usable data.
'400':
description: 'Invalid JSON: must be a non-null object.'
'401':
description: Authentication failed, wrong or no secret provided.
'501':
description: The body provided can not be written to a file.
summary: Create files by fn
x-summary-source: derived
operationId: postFilesByFn
x-operation-id-source: derived
put:
security:
- bearerAuth: []
description: Main route for replacing data in a json file stored on the server, equivalent to a POST route, also allows creating new files
tags:
- Funktional
parameters:
- in: path
name: fn
schema:
type: string
required: true
description: name of a json-file in the assets folder without the ending
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: A successfull response, the api-server has returned usable data.
'400':
description: 'Invalid JSON: must be a non-null object.'
'401':
description: Authentication failed, wrong or no secret provided.
'501':
description: The body provided can not be written to a file.
summary: Replace files by fn
x-summary-source: derived
operationId: putFilesByFn
x-operation-id-source: derived
delete:
security:
- bearerAuth: []
description: Main route for deleting a json file stored on the server
tags:
- Funktional
parameters:
- in: path
name: fn
schema:
type: string
required: true
description: name of a json-file in the assets folder without the ending
responses:
'200':
description: A successfull response, the api-server has deleted the requested ressource.
'401':
description: Authentication failed, wrong or no secret provided.
'403':
description: The requested resource doesn't exist, use post to create new ressources.
'501':
description: The requested ressource can not be deleted.
summary: Delete files by fn
x-summary-source: derived
operationId: deleteFilesByFn
x-operation-id-source: derived
servers:
- url: /basicapi
/html/{fn}:
get:
description: Main route for getting a html file stored on the server
tags:
- Funktional
parameters:
- in: path
name: fn
schema:
type: string
required: true
description: name of a html-file in the assets folder with or without the ending
responses:
'200':
description: A successfull response, the api-server has returned usable data.
'501':
description: The requested resource could not be processed. There is probably no file by that name. Watch out for typos in the name provided.
summary: Get html by fn
x-summary-source: derived
operationId: getHtmlByFn
x-operation-id-source: derived
servers:
- url: /basicapi
/ogd/{sp}:
get:
description: Main route for getting data from a stored procedure from the database for ogd objects
tags:
- Funktional
parameters:
- in: path
name: sp
schema:
type: string
required: true
description: name of a stored procedure in the DB
- in: query
name: refreshcache
schema:
type: boolean
required: false
description: forces a refresh of the cache if this is true
- in: query
name: canton
schema:
type: string
default: zh
enum:
- zh
- tg
- gl
- gr
required: false
description: "chose the canton for which you want to get data:\n * `zh` Zürich\n * `tg` Thurgau\n * `gl` Glarus\n * `gr` Graubünden\n"
responses:
'200':
description: A successfull response, the api-server has returned usable data.
'500':
description: The server could not connect to the database. The database is either offline of the credentials to access the database are invalid
'501':
description: The requested resource could not be processed. Either there is no stored procedure by that name or the stored procedure is not configured correctly. Watch out for typos in the name provided.
summary: Get ogd by sp
x-summary-source: derived
operationId: getOgdBySp
x-operation-id-source: derived
servers:
- url: /basicapi
/recache:
get:
description: Refreshes the cached entries for the selected route and returns the cache keys scheduled for refresh.
tags:
- Funktional
parameters:
- in: query
name: route
schema:
type: string
default: zhweb
enum:
- zhweb
- ogd
- umbraco
- secured
required: false
description: route cache to refresh
- in: query
name: keysource
schema:
type: string
default: filecache
enum:
- memorycache
- filecache
required: false
description: "chose, whether cache should be restored from memory cache or from file cache.:\n * `memorycache` - the stored procedures names to be recached are taken from memory cache\n * `filecache` - the stored procedures names to be recached are taken from file cache\n"
- in: query
name: secret
schema:
type: string
required: true
description: secret key to run recache
responses:
'200':
description: A successfull response, the api-server has returned usable data.
'401':
description: Authentication failed, wrong or no secret provided.
'501':
description: Server Error, maybe the choosen cache is not available, try the other option.
summary: Get recache
x-summary-source: derived
operationId: getRecache
x-operation-id-source: derived
servers:
- url: /basicapi
/secured/{sp}:
get:
description: Main route for getting data from a stored procedure from the database in a secured way
tags:
- Funktional
parameters:
- in: path
name: sp
schema:
type: string
required: true
description: name of a stored procedure in the DB
- in: query
name: refreshcache
schema:
type: boolean
required: false
description: forces a refresh of the cache if this is true
- in: query
name: secret
schema:
type: string
required: true
description: secret key to run the query
responses:
'200':
description: A successfull response, the api-server has returned usable data.
'401':
description: Authentication failed, wrong or no secret provided.
'500':
description: The server could not connect to the database. The database is either offline of the credentials to access the database are invalid
'501':
description: The requested resource could not be processed. Either there is no stored procedure by that name or the stored procedure is not configured correctly. Watch out for typos in the name provided.
summary: Get secured by sp
x-summary-source: derived
operationId: getSecuredBySp
x-operation-id-source: derived
servers:
- url: /basicapi
/umbraco/{kanton}/procedures:
get:
description: Route to get the avaible stored procedures per language and canton for umbraco
tags:
- Funktional
parameters:
- in: path
name: kanton
schema:
type: string
enum:
- zh
- tg
- gl
- gr
required: true
description: short for the canton for which the data is requested, default is 'zh'
responses:
'200':
description: A successfull response, the api-server has returned usable data.
'500':
description: The server could not connect to the database. The database is either offline of the credentials to access the database are invalid
'501':
description: The requested resource could not be processed. Either there is no stored procedure by that name or the stored procedure is not configured correctly.
summary: Get umbraco by kanton procedures
x-summary-source: derived
operationId: getUmbracoByKantonProcedures
x-operation-id-source: derived
servers:
- url: /basicapi
/umbraco/{kanton}/filters:
get:
description: Route to get the avaible filter lists per language and canton for umbraco
tags:
- Funktional
parameters:
- in: path
name: kanton
schema:
type: string
enum:
- zh
- tg
- gl
- gr
required: true
description: short for the canton for which the data is requested, default is 'zh'
responses:
'200':
description: A successfull response, the api-server has returned usable data.
'500':
description: The server could not connect to the database. The database is either offline of the credentials to access the database are invalid
'501':
description: The requested resource could not be processed. Either there is no stored procedure by that name or the stored procedure is not configured correctly.
summary: Get umbraco by kanton filters
x-summary-source: derived
operationId: getUmbracoByKantonFilters
x-operation-id-source: derived
servers:
- url: /basicapi
/umbraco/{kanton}/{sprache}/{sp}:
get:
description: Main route for getting data from a stored procedure from the database for umbraco
tags:
- Funktional
parameters:
- in: path
name: kanton
schema:
type: string
enum:
- zh
- tg
- gl
- gr
required: true
description: short for the canton for which the data is requested, default is 'zh'
- in: path
name: sprache
schema:
type: string
enum:
- de
- rm
- it
- fr
required: true
description: short for the language for which the data is requested, default is 'de'
- in: path
name: sp
schema:
type: string
required: true
description: name of a stored procedure in the DB
- in: query
name: refreshcache
schema:
type: boolean
required: false
description: forces a refresh of the cache if this is true
- in: query
name: params
schema:
type: object
additionalProperties:
type: string
style: form
explode: true
description: additional parameters depending on the procedure called
responses:
'200':
description: A successfull response, the api-server has returned usable data.
'500':
description: The server could not connect to the database. The database is either offline of the credentials to access the database are invalid
'501':
description: The requested resource could not be processed. Either there is no stored procedure by that name or the stored procedure is not configured correctly. Watch out for typos in the name provided.
summary: Get umbraco by kanton by sprache by sp
x-summary-source: derived
operationId: getUmbracoByKantonBySpracheBySp
x-operation-id-source: derived
servers:
- url: /basicapi
/zhweb/{sp}:
get:
description: Main route for getting data from a stored procedure from the database
tags:
- Funktional
parameters:
- in: path
name: sp
schema:
type: string
required: true
description: name of a stored procedure in the DB
- in: query
name: refreshcache
schema:
type: boolean
required: false
description: forces a refresh of the cache if this is true
- in: query
name: params
schema:
type: object
default: {}
additionalProperties:
type: string
style: form
explode: true
description: additional parameters depending on the procedure called
responses:
'200':
description: A successfull response, the api-server has returned usable data.
'500':
description: The server could not connect to the database. The database is either offline of the credentials to access the database are invalid
'501':
description: The requested resource could not be processed. Either there is no stored procedure by that name or the stored procedure is not configured correctly. Watch out for typos in the name provided.
summary: Get zhweb by sp
x-summary-source: derived
operationId: getZhwebBySp
x-operation-id-source: derived
servers:
- url: /basicapi
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
x-refined-from:
- bista-zh-ch-openapi.json
- zh-ch-education-statistics-openapi.yml