{
    "openapi": "3.0.3",
    "info": {
        "title": "Bildungsportal",
        "description": "Use https://editor.swagger.io/ with the output of this script.",
        "contact": {
            "email": "support@bildung.gv.at"
        },
        "version": "0.1"
    },
    "externalDocs": {
        "description": "Infobox",
        "url": "https://bip.gv.at/infobox"
    },
    "servers": [
        {
            "url": "https://www.bildung.gv.at"
        }
    ],
    "components": {
        "requestBodies": {},
        "schemas": {
            "local_eduportal_iface_delivery_returns": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "success or error"
                    },
                    "result": {
                        "type": "object",
                        "properties": {
                            "dailycurrent": {
                                "type": "integer",
                                "description": "the amount of messages sent today"
                            },
                            "dailylimit": {
                                "type": "integer",
                                "description": "the maximum amount of messages per day"
                            },
                            "error": {
                                "type": "string",
                                "description": "optional error message"
                            },
                            "timeaccepted": {
                                "type": "integer",
                                "description": "UNIX timestamp when the notification was accepted by education portal"
                            }
                        }
                    },
                    "error": {
                        "type": "string",
                        "description": "error info"
                    }
                }
            },
            "local_eduportal_iface_edtechhub_returns": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "success or error"
                    },
                    "result": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "partnerid": {
                                    "type": "integer",
                                    "description": ""
                                },
                                "name": {
                                    "type": "string",
                                    "description": "name of partner"
                                },
                                "email": {
                                    "type": "string",
                                    "description": "primary contact e-mail"
                                },
                                "phone": {
                                    "type": "string",
                                    "description": "primary contact phone"
                                },
                                "street": {
                                    "type": "string",
                                    "description": "the street including street number"
                                },
                                "zip": {
                                    "type": "string",
                                    "description": "the zip"
                                },
                                "city": {
                                    "type": "string",
                                    "description": "the city"
                                },
                                "district": {
                                    "type": "string",
                                    "description": "the district"
                                },
                                "country": {
                                    "type": "string",
                                    "description": "the country code"
                                },
                                "approved_data": {
                                    "type": "integer",
                                    "description": "a value greater than 0 indicates, the data was approved"
                                },
                                "approved_avv": {
                                    "type": "integer",
                                    "description": "a value greater than 0 indicates, the AVV was approved"
                                },
                                "uid": {
                                    "type": "string",
                                    "description": "the VAT number"
                                },
                                "fn": {
                                    "type": "string",
                                    "description": "the company registration number"
                                },
                                "managers": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "bpkbf": {
                                                "type": "string",
                                                "description": "the bpkBF of the person"
                                            },
                                            "role": {
                                                "type": "string",
                                                "description": "the name of the role"
                                            }
                                        }
                                    }
                                },
                                "apps": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "appid": {
                                                "type": "integer",
                                                "description": "the id of the app"
                                            },
                                            "name": {
                                                "type": "string",
                                                "description": "name of app"
                                            },
                                            "isactive": {
                                                "type": "integer",
                                                "description": "whether this app is active (1) or not (0)"
                                            },
                                            "shortname": {
                                                "type": "string",
                                                "description": "the shortname of the app (unique across the eduportal)"
                                            },
                                            "ssourl": {
                                                "type": "string",
                                                "description": "the url to initiate the sso login"
                                            },
                                            "managers": {
                                                "type": "array",
                                                "items": {
                                                    "type": "object",
                                                    "properties": {
                                                        "bpkbf": {
                                                            "type": "string",
                                                            "description": "the bpkBF of the person"
                                                        },
                                                        "role": {
                                                            "type": "string",
                                                            "description": "the name of the role"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "error": {
                        "type": "string",
                        "description": "error info"
                    }
                }
            },
            "local_eduportal_iface_educluster_returns": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "success or error"
                    },
                    "result": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "educluster": {
                                    "type": "integer",
                                    "description": ""
                                },
                                "name": {
                                    "type": "string",
                                    "description": ""
                                }
                            }
                        }
                    },
                    "error": {
                        "type": "string",
                        "description": "error info"
                    }
                }
            },
            "local_eduportal_iface_eduregion_returns": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "success or error"
                    },
                    "result": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "eduregion": {
                                    "type": "integer",
                                    "description": ""
                                },
                                "name": {
                                    "type": "string",
                                    "description": ""
                                }
                            }
                        }
                    },
                    "error": {
                        "type": "string",
                        "description": "error info"
                    }
                }
            },
            "local_eduportal_iface_getuserphoto_returns": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "success or error"
                    },
                    "result": {
                        "type": "string",
                        "description": "no json return value, the file content is returned as request body!"
                    },
                    "error": {
                        "type": "string",
                        "description": "error info"
                    }
                }
            },
            "local_eduportal_iface_group_create_returns": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "success or error"
                    },
                    "result": {
                        "type": "object",
                        "properties": {
                            "success": {
                                "type": "boolean",
                                "description": "success"
                            }
                        }
                    },
                    "error": {
                        "type": "string",
                        "description": "error info"
                    }
                }
            },
            "local_eduportal_iface_manageuserdata_v1_returns": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "success or error"
                    },
                    "result": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "attribute": {
                                    "type": "string",
                                    "description": ""
                                },
                                "status": {
                                    "type": "integer",
                                    "description": "1... success, 0... error"
                                },
                                "error": {
                                    "type": "string",
                                    "description": "an error message indicating the record and its problem"
                                }
                            }
                        }
                    },
                    "error": {
                        "type": "string",
                        "description": "error info"
                    }
                }
            },
            "local_eduportal_iface_notification_returns": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "success or error"
                    },
                    "result": {
                        "type": "object",
                        "properties": {
                            "dailycurrent": {
                                "type": "integer",
                                "description": "the amount of messages sent today"
                            },
                            "dailylimit": {
                                "type": "integer",
                                "description": "the maximum amount of messages per day"
                            },
                            "error": {
                                "type": "string",
                                "description": "optional error message"
                            },
                            "timeaccepted": {
                                "type": "integer",
                                "description": "UNIX timestamp when the notification was accepted by education portal"
                            }
                        }
                    },
                    "error": {
                        "type": "string",
                        "description": "error info"
                    }
                }
            },
            "local_eduportal_iface_permission_returns": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "success or error"
                    },
                    "result": {
                        "type": "boolean",
                        "description": "success"
                    },
                    "error": {
                        "type": "string",
                        "description": "error info"
                    }
                }
            },
            "local_eduportal_iface_readorgdata_returns": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "success or error"
                    },
                    "result": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "orgid": {
                                    "type": "integer",
                                    "description": ""
                                },
                                "orgtype": {
                                    "type": "string",
                                    "description": "authority, federal, municipal, private, unknown"
                                },
                                "eduregion": {
                                    "type": "string",
                                    "description": "the eduregion id"
                                },
                                "educluster": {
                                    "type": "string",
                                    "description": "the educluster id"
                                },
                                "name": {
                                    "type": "string",
                                    "description": ""
                                },
                                "officialname": {
                                    "type": "string",
                                    "description": ""
                                },
                                "shortname": {
                                    "type": "string",
                                    "description": ""
                                },
                                "email": {
                                    "type": "string",
                                    "description": "official email address of org"
                                },
                                "phone": {
                                    "type": "string",
                                    "description": "official phone number"
                                },
                                "street": {
                                    "type": "string",
                                    "description": ""
                                },
                                "zip": {
                                    "type": "string",
                                    "description": ""
                                },
                                "city": {
                                    "type": "string",
                                    "description": ""
                                },
                                "country": {
                                    "type": "string",
                                    "description": ""
                                },
                                "classes": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "the class name"
                                    }
                                },
                                "classcount": {
                                    "type": "integer",
                                    "description": "number of classes within the current school year"
                                },
                                "departments": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "department": {
                                                "type": "string",
                                                "description": "the department name"
                                            },
                                            "classes": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string",
                                                    "description": "the class name"
                                                }
                                            }
                                        }
                                    }
                                },
                                "genuine": {
                                    "type": "integer",
                                    "description": "whether this is a real org (1) or a demo org (0)"
                                },
                                "operational": {
                                    "type": "integer",
                                    "description": "whether this org is operational (1) or not (0)"
                                },
                                "timechanged": {
                                    "type": "integer",
                                    "description": "UNIX timestamp of most currently changed item"
                                }
                            }
                        }
                    },
                    "error": {
                        "type": "string",
                        "description": "error info"
                    }
                }
            },
            "local_eduportal_iface_readuserapps_v1_returns": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "success or error"
                    },
                    "result": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "appid": {
                                    "type": "integer",
                                    "description": "the internal appid of this app"
                                },
                                "role": {
                                    "type": "string",
                                    "description": "the role with which the user is permitted to use this application"
                                },
                                "orgid": {
                                    "type": "integer",
                                    "description": "the orgid in which the user is permitted to use this application"
                                },
                                "deeplink": {
                                    "type": "string",
                                    "format": "url",
                                    "description": "the deep link to launch this application"
                                },
                                "name": {
                                    "type": "string",
                                    "description": "the name of the application"
                                },
                                "mfa": {
                                    "type": "boolean",
                                    "description": "whether the application requires multi factor authentication (means: ID Austria)"
                                }
                            }
                        }
                    },
                    "error": {
                        "type": "string",
                        "description": "error info"
                    }
                }
            },
            "local_eduportal_iface_readuserdata_v2_returns": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "success or error"
                    },
                    "result": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "bpkbf": {
                                    "type": "string",
                                    "description": "the bpkbf prefixed with BF:"
                                },
                                "idp_subjectid_v1": {
                                    "type": "string",
                                    "description": "the global subject id based on bpkbf (v1)"
                                },
                                "deleted": {
                                    "type": "boolean",
                                    "description": "user account is deleted"
                                },
                                "suspended": {
                                    "type": "boolean",
                                    "description": "user account is suspended"
                                },
                                "timechanged": {
                                    "type": "integer",
                                    "description": "UNIX timestamp of last change"
                                },
                                "firstname": {
                                    "type": "string",
                                    "description": ""
                                },
                                "middlename": {
                                    "type": "string",
                                    "description": ""
                                },
                                "lastname": {
                                    "type": "string",
                                    "description": ""
                                },
                                "title_acad_prefix": {
                                    "type": "string",
                                    "description": ""
                                },
                                "title_acad_suffix": {
                                    "type": "string",
                                    "description": ""
                                },
                                "title_job": {
                                    "type": "string",
                                    "description": ""
                                },
                                "title_official": {
                                    "type": "string",
                                    "description": ""
                                },
                                "email": {
                                    "type": "string",
                                    "description": ""
                                },
                                "phone1": {
                                    "type": "string",
                                    "description": ""
                                },
                                "phone2": {
                                    "type": "string",
                                    "description": ""
                                },
                                "dateofbirth": {
                                    "type": "string",
                                    "description": "date of birth in format YYYY-mm-dd"
                                },
                                "gender": {
                                    "type": "string",
                                    "description": "m = male | w = female | d = diverse | o = open | i = inter | k = not specified | u = unknown"
                                },
                                "photo_official_hash": {
                                    "type": "string",
                                    "description": "contenthash of the official photograph"
                                },
                                "photo_profile_hash": {
                                    "type": "string",
                                    "description": "contenthash of the profile picture"
                                },
                                "street": {
                                    "type": "string",
                                    "description": ""
                                },
                                "zip": {
                                    "type": "string",
                                    "description": ""
                                },
                                "city": {
                                    "type": "string",
                                    "description": ""
                                },
                                "district": {
                                    "type": "string",
                                    "description": ""
                                },
                                "country": {
                                    "type": "string",
                                    "description": ""
                                },
                                "children": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "bpkbf": {
                                                "type": "string",
                                                "description": "the bpkbf prefixed with BF:"
                                            }
                                        }
                                    }
                                },
                                "relatives": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "bpkbf": {
                                                "type": "string",
                                                "description": "the bpkbf prefixed with BF:"
                                            },
                                            "type": {
                                                "type": "string",
                                                "description": "ENUM(\"father\", \"mother\", \"grandmother\")"
                                            },
                                            "islgn": {
                                                "type": "boolean",
                                                "description": "is legal guardian"
                                            },
                                            "ispayer": {
                                                "type": "boolean",
                                                "description": "is payer"
                                            }
                                        }
                                    }
                                },
                                "assignedorgids": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "role"
                                    }
                                },
                                "mainorgids": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "role"
                                    }
                                },
                                "sapids": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "sapid"
                                    }
                                },
                                "sokratesids": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "sokratesid"
                                    }
                                },
                                "orgs": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "orgid": {
                                                "type": "string",
                                                "description": "orgid"
                                            },
                                            "roles": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string",
                                                    "description": "role"
                                                }
                                            },
                                            "classes": {
                                                "type": "array",
                                                "items": {
                                                    "type": "object",
                                                    "properties": {
                                                        "name": {
                                                            "type": "string",
                                                            "description": "name"
                                                        }
                                                    }
                                                }
                                            },
                                            "departments": {
                                                "type": "array",
                                                "items": {
                                                    "type": "object",
                                                    "properties": {
                                                        "name": {
                                                            "type": "string",
                                                            "description": "name"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                },
                                "idpusername": {
                                    "type": "string",
                                    "description": "A unique username for local use"
                                }
                            }
                        }
                    },
                    "error": {
                        "type": "string",
                        "description": "error info"
                    }
                }
            },
            "local_eduportal_iface_readuserdata_v3_returns": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "success or error"
                    },
                    "result": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "bpkbf": {
                                    "type": "string",
                                    "description": "the BPK-BF prefixed with BF:"
                                },
                                "idp_subjectid_v1": {
                                    "type": "string",
                                    "description": "the global subject ID"
                                },
                                "deleted": {
                                    "type": "boolean",
                                    "description": "whether the user account has been deleted"
                                },
                                "suspended": {
                                    "type": "boolean",
                                    "description": "whether the user account is suspended"
                                },
                                "timechanged": {
                                    "type": "integer",
                                    "description": "UNIX timestamp of last modification"
                                },
                                "firstname": {
                                    "type": "string",
                                    "description": "first name"
                                },
                                "firstname_official": {
                                    "type": "string",
                                    "description": "officially registered firstname"
                                },
                                "middlename": {
                                    "type": "string",
                                    "description": "middle name"
                                },
                                "lastname": {
                                    "type": "string",
                                    "description": "last name"
                                },
                                "dateofbirth": {
                                    "type": "string",
                                    "description": "date of birth (YYYY-MM-DD)"
                                },
                                "gender": {
                                    "type": "string",
                                    "description": "gender code"
                                },
                                "photo_official_hash": {
                                    "type": "string",
                                    "description": "official photo hash"
                                },
                                "photo_profile_hash": {
                                    "type": "string",
                                    "description": "profile photo hash"
                                },
                                "title_acad_prefix": {
                                    "type": "string",
                                    "description": "academic title prefix"
                                },
                                "title_acad_suffix": {
                                    "type": "string",
                                    "description": "academic title suffix"
                                },
                                "title_job": {
                                    "type": "string",
                                    "description": "job title"
                                },
                                "title_official": {
                                    "type": "string",
                                    "description": "official title"
                                },
                                "emails": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "field": {
                                                "type": "string",
                                                "description": "field identifier"
                                            },
                                            "value": {
                                                "type": "string",
                                                "description": "email address"
                                            },
                                            "orgid": {
                                                "type": "string",
                                                "description": "organization ID"
                                            },
                                            "official": {
                                                "type": "boolean",
                                                "description": "true if this is an official email address, false if it is private"
                                            },
                                            "preferred": {
                                                "type": "string",
                                                "description": "preferred flag"
                                            }
                                        }
                                    }
                                },
                                "phonenumbers": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "field": {
                                                "type": "string",
                                                "description": "field identifier"
                                            },
                                            "value": {
                                                "type": "string",
                                                "description": "phone number"
                                            },
                                            "orgid": {
                                                "type": "string",
                                                "description": "organization ID"
                                            },
                                            "official": {
                                                "type": "boolean",
                                                "description": "true if this is an official phone number, false if it is private"
                                            },
                                            "preferred": {
                                                "type": "string",
                                                "description": "preferred flag"
                                            }
                                        }
                                    }
                                },
                                "addresses": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "description": "address type"
                                            },
                                            "street": {
                                                "type": "string",
                                                "description": "street"
                                            },
                                            "streetnumber": {
                                                "type": "string",
                                                "description": "street number"
                                            },
                                            "zip": {
                                                "type": "string",
                                                "description": "ZIP code"
                                            },
                                            "city": {
                                                "type": "string",
                                                "description": "city"
                                            },
                                            "district": {
                                                "type": "string",
                                                "description": "district"
                                            },
                                            "country": {
                                                "type": "string",
                                                "description": "country"
                                            },
                                            "orgid": {
                                                "type": "string",
                                                "description": "organization ID"
                                            }
                                        }
                                    }
                                },
                                "children": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "bpkbf": {
                                                "type": "string",
                                                "description": "child BPK-BF"
                                            }
                                        }
                                    }
                                },
                                "relatives": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "bpkbf": {
                                                "type": "string",
                                                "description": "relative BPK-BF"
                                            },
                                            "type": {
                                                "type": "string",
                                                "description": "relationship type"
                                            },
                                            "islgn": {
                                                "type": "boolean",
                                                "description": "is legal guardian"
                                            },
                                            "ispayer": {
                                                "type": "boolean",
                                                "description": "is payer"
                                            }
                                        }
                                    }
                                },
                                "assignedorgids": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "org ID"
                                    }
                                },
                                "mainorgids": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "org ID"
                                    }
                                },
                                "sapids": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "orgid": {
                                                "type": "string",
                                                "description": "organization ID"
                                            },
                                            "sapid": {
                                                "type": "integer",
                                                "description": "SAP ID"
                                            },
                                            "role": {
                                                "type": "string",
                                                "description": ""
                                            },
                                            "roletype": {
                                                "type": "string",
                                                "description": "role (same as the role field, this is deprecated and will be removed)"
                                            }
                                        }
                                    }
                                },
                                "sokratesids": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "Sokrates ID"
                                    }
                                },
                                "orgs": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "orgid": {
                                                "type": "string",
                                                "description": "organization ID"
                                            },
                                            "roles": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string",
                                                    "description": "role name"
                                                }
                                            },
                                            "classes": {
                                                "type": "array",
                                                "items": {
                                                    "type": "object",
                                                    "properties": {
                                                        "name": {
                                                            "type": "string",
                                                            "description": "class name"
                                                        }
                                                    }
                                                }
                                            },
                                            "departments": {
                                                "type": "array",
                                                "items": {
                                                    "type": "object",
                                                    "properties": {
                                                        "name": {
                                                            "type": "string",
                                                            "description": "department name"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                },
                                "unassigned_orgs": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "orgid": {
                                                "type": "string",
                                                "description": "organization ID"
                                            },
                                            "role": {
                                                "type": "string",
                                                "description": "removed role"
                                            },
                                            "timechanged": {
                                                "type": "integer",
                                                "description": "removal timestamp"
                                            }
                                        }
                                    }
                                },
                                "idpusername": {
                                    "type": "string",
                                    "description": "IDP username"
                                }
                            }
                        }
                    },
                    "error": {
                        "type": "string",
                        "description": "error info"
                    },
                    "meta": {
                        "type": "object",
                        "properties": {
                            "has_more": {
                                "type": "boolean",
                                "description": "whether there are more results"
                            },
                            "next_cursor": {
                                "type": "string",
                                "description": "cursor for next page / next sync"
                            }
                        }
                    }
                }
            },
            "local_eduportal_iface_searchuserdata_v2_returns": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "success or error"
                    },
                    "result": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "bpkbf": {
                                    "type": "string",
                                    "description": "the bpkbf prefixed with BF:"
                                },
                                "idp_subjectid_v1": {
                                    "type": "string",
                                    "description": "the global subject id based on bpkbf (v1)"
                                },
                                "deleted": {
                                    "type": "boolean",
                                    "description": "user account is deleted"
                                },
                                "suspended": {
                                    "type": "boolean",
                                    "description": "user account is suspended"
                                },
                                "timechanged": {
                                    "type": "integer",
                                    "description": "UNIX timestamp of last change"
                                },
                                "firstname": {
                                    "type": "string",
                                    "description": ""
                                },
                                "middlename": {
                                    "type": "string",
                                    "description": ""
                                },
                                "lastname": {
                                    "type": "string",
                                    "description": ""
                                },
                                "title_acad_prefix": {
                                    "type": "string",
                                    "description": ""
                                },
                                "title_acad_suffix": {
                                    "type": "string",
                                    "description": ""
                                },
                                "title_job": {
                                    "type": "string",
                                    "description": ""
                                },
                                "title_official": {
                                    "type": "string",
                                    "description": ""
                                },
                                "email": {
                                    "type": "string",
                                    "description": ""
                                },
                                "phone1": {
                                    "type": "string",
                                    "description": ""
                                },
                                "phone2": {
                                    "type": "string",
                                    "description": ""
                                },
                                "dateofbirth": {
                                    "type": "string",
                                    "description": "date of birth in format YYYY-mm-dd"
                                },
                                "gender": {
                                    "type": "string",
                                    "description": "m = male | w = female | d = diverse | o = open | i = inter | k = not specified | u = unknown"
                                },
                                "photo_official_hash": {
                                    "type": "string",
                                    "description": "contenthash of the official photograph"
                                },
                                "photo_profile_hash": {
                                    "type": "string",
                                    "description": "contenthash of the profile picture"
                                },
                                "street": {
                                    "type": "string",
                                    "description": ""
                                },
                                "zip": {
                                    "type": "string",
                                    "description": ""
                                },
                                "city": {
                                    "type": "string",
                                    "description": ""
                                },
                                "district": {
                                    "type": "string",
                                    "description": ""
                                },
                                "country": {
                                    "type": "string",
                                    "description": ""
                                },
                                "children": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "bpkbf": {
                                                "type": "string",
                                                "description": "the bpkbf prefixed with BF:"
                                            }
                                        }
                                    }
                                },
                                "relatives": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "bpkbf": {
                                                "type": "string",
                                                "description": "the bpkbf prefixed with BF:"
                                            },
                                            "type": {
                                                "type": "string",
                                                "description": "ENUM(\"father\", \"mother\", \"grandmother\")"
                                            },
                                            "islgn": {
                                                "type": "boolean",
                                                "description": "is legal guardian"
                                            },
                                            "ispayer": {
                                                "type": "boolean",
                                                "description": "is payer"
                                            }
                                        }
                                    }
                                },
                                "assignedorgids": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "role"
                                    }
                                },
                                "mainorgids": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "role"
                                    }
                                },
                                "sapids": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "sapid"
                                    }
                                },
                                "sokratesids": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "sokratesid"
                                    }
                                },
                                "orgs": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "orgid": {
                                                "type": "string",
                                                "description": "orgid"
                                            },
                                            "roles": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string",
                                                    "description": "role"
                                                }
                                            },
                                            "classes": {
                                                "type": "array",
                                                "items": {
                                                    "type": "object",
                                                    "properties": {
                                                        "name": {
                                                            "type": "string",
                                                            "description": "name"
                                                        }
                                                    }
                                                }
                                            },
                                            "departments": {
                                                "type": "array",
                                                "items": {
                                                    "type": "object",
                                                    "properties": {
                                                        "name": {
                                                            "type": "string",
                                                            "description": "name"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                },
                                "idpusername": {
                                    "type": "string",
                                    "description": "A unique username for local use"
                                }
                            }
                        }
                    },
                    "error": {
                        "type": "string",
                        "description": "error info"
                    }
                }
            },
            "local_eduportal_iface_searchuserdata_v3_returns": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "success or error"
                    },
                    "result": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "bpkbf": {
                                    "type": "string",
                                    "description": "the BPK-BF prefixed with BF:"
                                },
                                "idp_subjectid_v1": {
                                    "type": "string",
                                    "description": "the global subject ID"
                                },
                                "deleted": {
                                    "type": "boolean",
                                    "description": "whether the user account has been deleted"
                                },
                                "suspended": {
                                    "type": "boolean",
                                    "description": "whether the user account is suspended"
                                },
                                "timechanged": {
                                    "type": "integer",
                                    "description": "UNIX timestamp of last modification"
                                },
                                "firstname": {
                                    "type": "string",
                                    "description": "first name"
                                },
                                "firstname_official": {
                                    "type": "string",
                                    "description": "officially registered firstname"
                                },
                                "middlename": {
                                    "type": "string",
                                    "description": "middle name"
                                },
                                "lastname": {
                                    "type": "string",
                                    "description": "last name"
                                },
                                "dateofbirth": {
                                    "type": "string",
                                    "description": "date of birth (YYYY-MM-DD)"
                                },
                                "gender": {
                                    "type": "string",
                                    "description": "gender code"
                                },
                                "photo_official_hash": {
                                    "type": "string",
                                    "description": "official photo hash"
                                },
                                "photo_profile_hash": {
                                    "type": "string",
                                    "description": "profile photo hash"
                                },
                                "title_acad_prefix": {
                                    "type": "string",
                                    "description": "academic title prefix"
                                },
                                "title_acad_suffix": {
                                    "type": "string",
                                    "description": "academic title suffix"
                                },
                                "title_job": {
                                    "type": "string",
                                    "description": "job title"
                                },
                                "title_official": {
                                    "type": "string",
                                    "description": "official title"
                                },
                                "emails": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "field": {
                                                "type": "string",
                                                "description": "field identifier"
                                            },
                                            "value": {
                                                "type": "string",
                                                "description": "email address"
                                            },
                                            "orgid": {
                                                "type": "string",
                                                "description": "organization ID"
                                            },
                                            "official": {
                                                "type": "boolean",
                                                "description": "true if this is an official email address, false if it is private"
                                            },
                                            "preferred": {
                                                "type": "string",
                                                "description": "preferred flag"
                                            }
                                        }
                                    }
                                },
                                "phonenumbers": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "field": {
                                                "type": "string",
                                                "description": "field identifier"
                                            },
                                            "value": {
                                                "type": "string",
                                                "description": "phone number"
                                            },
                                            "orgid": {
                                                "type": "string",
                                                "description": "organization ID"
                                            },
                                            "official": {
                                                "type": "boolean",
                                                "description": "true if this is an official phone number, false if it is private"
                                            },
                                            "preferred": {
                                                "type": "string",
                                                "description": "preferred flag"
                                            }
                                        }
                                    }
                                },
                                "addresses": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "description": "address type"
                                            },
                                            "street": {
                                                "type": "string",
                                                "description": "street"
                                            },
                                            "streetnumber": {
                                                "type": "string",
                                                "description": "street number"
                                            },
                                            "zip": {
                                                "type": "string",
                                                "description": "ZIP code"
                                            },
                                            "city": {
                                                "type": "string",
                                                "description": "city"
                                            },
                                            "district": {
                                                "type": "string",
                                                "description": "district"
                                            },
                                            "country": {
                                                "type": "string",
                                                "description": "country"
                                            },
                                            "orgid": {
                                                "type": "string",
                                                "description": "organization ID"
                                            }
                                        }
                                    }
                                },
                                "children": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "bpkbf": {
                                                "type": "string",
                                                "description": "child BPK-BF"
                                            }
                                        }
                                    }
                                },
                                "relatives": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "bpkbf": {
                                                "type": "string",
                                                "description": "relative BPK-BF"
                                            },
                                            "type": {
                                                "type": "string",
                                                "description": "relationship type"
                                            },
                                            "islgn": {
                                                "type": "boolean",
                                                "description": "is legal guardian"
                                            },
                                            "ispayer": {
                                                "type": "boolean",
                                                "description": "is payer"
                                            }
                                        }
                                    }
                                },
                                "assignedorgids": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "org ID"
                                    }
                                },
                                "mainorgids": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "org ID"
                                    }
                                },
                                "sapids": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "orgid": {
                                                "type": "string",
                                                "description": "organization ID"
                                            },
                                            "sapid": {
                                                "type": "integer",
                                                "description": "SAP ID"
                                            },
                                            "role": {
                                                "type": "string",
                                                "description": ""
                                            },
                                            "roletype": {
                                                "type": "string",
                                                "description": "role (same as the role field, this is deprecated and will be removed)"
                                            }
                                        }
                                    }
                                },
                                "sokratesids": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "description": "Sokrates ID"
                                    }
                                },
                                "orgs": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "orgid": {
                                                "type": "string",
                                                "description": "organization ID"
                                            },
                                            "roles": {
                                                "type": "array",
                                                "items": {
                                                    "type": "string",
                                                    "description": "role name"
                                                }
                                            },
                                            "classes": {
                                                "type": "array",
                                                "items": {
                                                    "type": "object",
                                                    "properties": {
                                                        "name": {
                                                            "type": "string",
                                                            "description": "class name"
                                                        }
                                                    }
                                                }
                                            },
                                            "departments": {
                                                "type": "array",
                                                "items": {
                                                    "type": "object",
                                                    "properties": {
                                                        "name": {
                                                            "type": "string",
                                                            "description": "department name"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                },
                                "unassigned_orgs": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "orgid": {
                                                "type": "string",
                                                "description": "organization ID"
                                            },
                                            "role": {
                                                "type": "string",
                                                "description": "removed role"
                                            },
                                            "timechanged": {
                                                "type": "integer",
                                                "description": "removal timestamp"
                                            }
                                        }
                                    }
                                },
                                "idpusername": {
                                    "type": "string",
                                    "description": "IDP username"
                                }
                            }
                        }
                    },
                    "error": {
                        "type": "string",
                        "description": "error info"
                    }
                }
            }
        },
        "securitySchemes": {
            "basicAuth": {
                "type": "http",
                "scheme": "basic"
            }
        }
    },
    "paths": {
        "/local/eduportal/webservice/server.php/local_eduportal_iface_delivery": {
            "post": {
                "summary": "Delivery & official signature",
                "description": "# Submit document\n\nThis interface allows a partner application to submit PDF-documents on behalf of an organization. The document must be approved by\na staff member of the organization (e.g. headmaster or other entitled person).\n\nA document can be related to a particular person by use of the bPK-BF of that person.\n",
                "requestBody": {
                    "description": "Parameters for local_eduportal_iface_delivery",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgid": {
                                        "type": "integer",
                                        "description": "the orgid on behalf of which the document is submitted."
                                    },
                                    "bpkbf": {
                                        "type": "string",
                                        "description": "the bpk-bf of the referenced person"
                                    },
                                    "onbehalfofbpkbf": {
                                        "type": "string",
                                        "description": "the bpk-bf of the sending person"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "a description of the document must be provided, e.g. 'certificate of school year 2024/25'"
                                    },
                                    "signature_page": {
                                        "type": "string",
                                        "default": "last_page",
                                        "description": "place on 'new_page', 'last_page' or page number"
                                    },
                                    "signature_x_align": {
                                        "type": "string",
                                        "default": "center",
                                        "description": "horizontal position from 'center' or 'left' or 'right'"
                                    },
                                    "signature_x_offset": {
                                        "type": "integer",
                                        "description": "offset in mm from given horizontal position"
                                    },
                                    "signature_y_align": {
                                        "type": "string",
                                        "default": "bottom",
                                        "description": "vertical position from 'center' or 'top' or 'bottom'"
                                    },
                                    "signature_y_offset": {
                                        "type": "integer",
                                        "default": 25,
                                        "description": "offset in mm from given vertical position"
                                    },
                                    "publishdate": {
                                        "type": "integer",
                                        "description": "the date when a document should be published at the earliest"
                                    },
                                    "expirationtime": {
                                        "type": "string",
                                        "default": "2 months",
                                        "description": "indicate how long a document shall be kept: 2 months | 6 months | 1 year | 2 years | 10 years | 60 years"
                                    },
                                    "deliveryway": {
                                        "type": "string",
                                        "default": "self",
                                        "description": "how the delivery shall take place: self (= only sign) | electronic (= 1. try electronic delivery, 2. fallback to self) | dual (= 1. try electronic delivery, 2. try phyiscal delivery, 3. fallback to self)"
                                    },
                                    "verifiable": {
                                        "type": "integer",
                                        "description": "if the delivery must be verifiable (RSa-quality) 1, else 0"
                                    },
                                    "filename": {
                                        "type": "string",
                                        "description": "A filename that should be meaningful to the user"
                                    },
                                    "file_attached": {
                                        "type": "file",
                                        "description": "The PDF-Document"
                                    },
                                    "file_url": {
                                        "type": "string",
                                        "format": "url",
                                        "description": "URL where file can be obtained"
                                    }
                                },
                                "required": [
                                    "orgid",
                                    "description"
                                ]
                            }
                        },
                        "multipart/form-data": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgid": {
                                        "type": "integer",
                                        "description": "the orgid on behalf of which the document is submitted."
                                    },
                                    "bpkbf": {
                                        "type": "string",
                                        "description": "the bpk-bf of the referenced person"
                                    },
                                    "onbehalfofbpkbf": {
                                        "type": "string",
                                        "description": "the bpk-bf of the sending person"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "a description of the document must be provided, e.g. 'certificate of school year 2024/25'"
                                    },
                                    "signature_page": {
                                        "type": "string",
                                        "default": "last_page",
                                        "description": "place on 'new_page', 'last_page' or page number"
                                    },
                                    "signature_x_align": {
                                        "type": "string",
                                        "default": "center",
                                        "description": "horizontal position from 'center' or 'left' or 'right'"
                                    },
                                    "signature_x_offset": {
                                        "type": "integer",
                                        "description": "offset in mm from given horizontal position"
                                    },
                                    "signature_y_align": {
                                        "type": "string",
                                        "default": "bottom",
                                        "description": "vertical position from 'center' or 'top' or 'bottom'"
                                    },
                                    "signature_y_offset": {
                                        "type": "integer",
                                        "default": 25,
                                        "description": "offset in mm from given vertical position"
                                    },
                                    "publishdate": {
                                        "type": "integer",
                                        "description": "the date when a document should be published at the earliest"
                                    },
                                    "expirationtime": {
                                        "type": "string",
                                        "default": "2 months",
                                        "description": "indicate how long a document shall be kept: 2 months | 6 months | 1 year | 2 years | 10 years | 60 years"
                                    },
                                    "deliveryway": {
                                        "type": "string",
                                        "default": "self",
                                        "description": "how the delivery shall take place: self (= only sign) | electronic (= 1. try electronic delivery, 2. fallback to self) | dual (= 1. try electronic delivery, 2. try phyiscal delivery, 3. fallback to self)"
                                    },
                                    "verifiable": {
                                        "type": "integer",
                                        "description": "if the delivery must be verifiable (RSa-quality) 1, else 0"
                                    },
                                    "filename": {
                                        "type": "string",
                                        "description": "A filename that should be meaningful to the user"
                                    },
                                    "file_attached": {
                                        "type": "file",
                                        "description": "The PDF-Document"
                                    },
                                    "file_url": {
                                        "type": "string",
                                        "format": "url",
                                        "description": "URL where file can be obtained"
                                    }
                                },
                                "required": [
                                    "orgid",
                                    "description"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/local_eduportal_iface_delivery_returns"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/local/eduportal/webservice/server.php/local_eduportal_iface_edtechhub": {
            "post": {
                "summary": "EdTech Hub",
                "description": "# EdTech Hub\n\nDiese Schnittstelle erlaubt den Zugang zu einer Liste aller mit dem Bildungsportal verbundenen Partnern und Anwendungen.\n\n\nDieser Endpunkt akzeptiert auch GET-Anfragen mit Query-Parametern.",
                "requestBody": {
                    "description": "Parameters for local_eduportal_iface_edtechhub",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        },
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/local_eduportal_iface_edtechhub_returns"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/local/eduportal/webservice/server.php/local_eduportal_iface_educluster": {
            "post": {
                "summary": "Schulcluster",
                "description": "# Schulcluster\n\nDiese Schnittstelle erlaubt den Zugang zu einer Liste aller Schulcluster.\n\n\nDieser Endpunkt akzeptiert auch GET-Anfragen mit Query-Parametern.",
                "requestBody": {
                    "description": "Parameters for local_eduportal_iface_educluster",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        },
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/local_eduportal_iface_educluster_returns"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/local/eduportal/webservice/server.php/local_eduportal_iface_eduregion": {
            "post": {
                "summary": "Bildungsregionen",
                "description": "# Bildungsregionen\n\nDiese Schnittstelle erlaubt den Zugang zu einer Liste aller Bildungsregionen.\n\n\nDieser Endpunkt akzeptiert auch GET-Anfragen mit Query-Parametern.",
                "requestBody": {
                    "description": "Parameters for local_eduportal_iface_eduregion",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        },
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/local_eduportal_iface_eduregion_returns"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/local/eduportal/webservice/server.php/local_eduportal_iface_getuserphoto": {
            "post": {
                "summary": "Personenfotos",
                "description": "Diese Schnittstelle erm\u00f6glicht den Abruf von Profil- und/oder Passfotos.\n\nDieser Endpunkt akzeptiert auch GET-Anfragen mit Query-Parametern.",
                "requestBody": {
                    "description": "Parameters for local_eduportal_iface_getuserphoto",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "hash": {
                                        "type": "string",
                                        "description": "photo hash"
                                    }
                                },
                                "required": [
                                    "hash"
                                ]
                            }
                        },
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "hash": {
                                        "type": "string",
                                        "description": "photo hash"
                                    }
                                },
                                "required": [
                                    "hash"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/local_eduportal_iface_getuserphoto_returns"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/local/eduportal/webservice/server.php/local_eduportal_iface_group_create": {
            "post": {
                "summary": "Gruppen anlegen",
                "description": "# Gruppen anlegen\n\n\u00dcber diese Schnittstelle k\u00f6nnen Fremdanwendungen globale Gruppen (Kohorten) im Schuljahres-Kursbereich einer Schule anlegen, Mitglieder zuweisen und optional App-Berechtigungen f\u00fcr die Gruppe setzen.\n\nDie Kohorte wird mit description=external angelegt und \u00fcber die idnumber (appshortname_externalid) eindeutig identifiziert.\n\n## Parameter\n\n- **externalid**: Eindeutige ID der Gruppe im Quellsystem\n- **name**: Name der Gruppe\n- **orgid**: Schulkennzahl der Organisation\n- **members**: Liste der Mitglieder mit bPK-BF und Rollentyp\n- **permissions**: Optionale Liste an App-Shortnames f\u00fcr Gruppenberechtigungen\n- **validstart**: G\u00fcltigkeitsbeginn (UNIX-Timestamp, 0 = aktuelles Datum)\n- **validend**: G\u00fcltigkeitsende (UNIX-Timestamp, 0 = Ende des aktuellen Schuljahres)\n\nBei erneutem Aufruf mit derselben externalid und orgid wird die bestehende Gruppe aktualisiert (Upsert).\n\nDieser Endpunkt akzeptiert auch GET-Anfragen mit Query-Parametern.",
                "requestBody": {
                    "description": "Parameters for local_eduportal_iface_group_create",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "externalid": {
                                        "type": "string",
                                        "description": "unique ID of the group in the source system (max. 38 characters)"
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "name of the group"
                                    },
                                    "orgid": {
                                        "type": "integer",
                                        "description": "Orgid (Schulkennzahl) of the organisation"
                                    },
                                    "members": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "bpkbf": {
                                                    "type": "string",
                                                    "description": "bPK-BF of the person"
                                                },
                                                "role": {
                                                    "type": "string",
                                                    "default": "std",
                                                    "description": "role type (e.g. std, tch, lgn, ...)"
                                                }
                                            },
                                            "required": [
                                                "bpkbf"
                                            ]
                                        },
                                        "description": "list of group members (empty = remove all members)"
                                    },
                                    "apps": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "description": "shortname of an application"
                                        },
                                        "description": "optional list of app shortnames for which group permissions are set"
                                    },
                                    "validstart": {
                                        "type": "integer",
                                        "description": "validity start as UNIX timestamp (0 = current date)"
                                    },
                                    "validend": {
                                        "type": "integer",
                                        "description": "validity end as UNIX timestamp (0 = end of current school year)"
                                    }
                                },
                                "required": [
                                    "externalid",
                                    "name",
                                    "orgid"
                                ]
                            }
                        },
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "externalid": {
                                        "type": "string",
                                        "description": "unique ID of the group in the source system (max. 38 characters)"
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "name of the group"
                                    },
                                    "orgid": {
                                        "type": "integer",
                                        "description": "Orgid (Schulkennzahl) of the organisation"
                                    },
                                    "members": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "bpkbf": {
                                                    "type": "string",
                                                    "description": "bPK-BF of the person"
                                                },
                                                "role": {
                                                    "type": "string",
                                                    "default": "std",
                                                    "description": "role type (e.g. std, tch, lgn, ...)"
                                                }
                                            },
                                            "required": [
                                                "bpkbf"
                                            ]
                                        },
                                        "description": "list of group members (empty = remove all members)"
                                    },
                                    "apps": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "description": "shortname of an application"
                                        },
                                        "description": "optional list of app shortnames for which group permissions are set"
                                    },
                                    "validstart": {
                                        "type": "integer",
                                        "description": "validity start as UNIX timestamp (0 = current date)"
                                    },
                                    "validend": {
                                        "type": "integer",
                                        "description": "validity end as UNIX timestamp (0 = end of current school year)"
                                    }
                                },
                                "required": [
                                    "externalid",
                                    "name",
                                    "orgid"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/local_eduportal_iface_group_create_returns"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/local/eduportal/webservice/server.php/local_eduportal_iface_manageuserdata_v1": {
            "post": {
                "summary": "Nutzerdaten verwalten V1",
                "description": "# Nutzerdaten verwalten\n\nDiese Schnittstelle erm\u00f6glicht es einer Partneranwendung, bestimmte Benutzerdaten zus\u00e4tzlich zu bzw. vor dem Schulverwaltungssystem zu verwalten. Ziel ist es, den Prozess der Schulanmeldung zu optimieren, wobei\ndas \u00f6sterreichische Bildungsportal als nationales Register im \u00f6sterreichischen Schuldatenverbund fungiert. Partneranwendungen im Bereich der Schulanmeldung nutzen in der Regel die Schnittstelle \u201esearchuserdata\u201c,\num die personenbezogenen Daten von Sch\u00fclern und deren Erziehungsberechtigten abzurufen. Personenbezogene Daten, die von der jeweiligen Schule ge\u00e4ndert, ausgew\u00e4hlt oder eingegeben wurden,\nm\u00fcssen unverz\u00fcglich an diese Schnittstelle \u00fcbermittelt werden.\n\nDie Anwendung funktioniert wie folgt:\n\nDie Anfrage enth\u00e4lt die Schulkennzahl der jeweiligen Organisation sowie die bpk-BF des Benutzers, dessen Daten verwaltet werden sollen. Die Anwendung \u00fcbermittelt eine Liste von Attributen an die\nSchnittstelle, jedes Attribut kann mehrfach vorkommen (z. B. mehrere Telefonnummern). Diese \u00c4nderungen werden in genau der angegebenen Reihenfolge ausgef\u00fchrt (was wichtig sein kann, wenn Attribute entfernt werden).\n\nGrunds\u00e4tzlich gibt es vier Arten von Attributen: lgn, communication, address and role.\n\n## lgn: Erziehungsberechtigte\n\nAlle Bezugspersonen von Kindern werden an Schulen h\u00e4ufig als \"Erziehungsberechtigte\" bezeichnet, unabh\u00e4ngig von der eigentlichen rechtlichen Einstufung. Das Bildungsportal verwendet daher f\u00fcr alle Bezugsspersonen\nden gebr\u00e4uchlichen Begriff \"Erziehungsberechtigte\" und kennzeichnet die rechtliche Einstufung mit dem Kennzeichen \"islgn\". Personen, die als Bezugspersonen fungieren, sind mit den Sch\u00fcler/innen zu verkn\u00fcpfen.\nDas Kennzeichen \"remove\" bedeutet, dass die Bezugsperson vollst\u00e4ndig vom Kind entfernt werden soll. Bezugspersonen, die rechtlich nicht als \"echte\" Erziehungsberechtigte eingestuft sind, werden beibehalten,\njedoch wird ihr \"islgn\"-Flag auf \"false\" gesetzt. In bestimmten F\u00e4llen haben Bezugspersonen \"islgn\" auf \"false\" gesetzt, sind jedoch zahlungspflichtig (\"ispayer\" auf \"true\").\n\n## communication: Kommunikationsdaten\n\nKommunikationsattribute sind Telefonnummern und E-Mail-Adressen. Pro Organisation und Person sind mehrere Werte zul\u00e4ssig. Wenn das Flag \"remove\" auf \"true\" gesetzt ist, wird ein Datensatz entfernt.\nIst \"remove\" auf \"false\" gesetzt, wird er hinzugef\u00fcgt. Falls ein Datensatz ge\u00e4ndert werden muss, muss er zun\u00e4chst mit seinem alten Wert entfernt und anschlie\u00dfend mit dem neuen Wert hinzugef\u00fcgt werden.\n\n## address: Adressdaten\n\nDas Bildungsportal speichert den offiziellen Hauptwohnsitz und etwaige Zweitwohnsitze direkt aus dem zentralen Melderegister. Eine Organisation kann jedoch pro Person eine benutzerdefinierte Adresse hinterlegen.\nIst das Kennzeichen \"remove\" auf \"false\" gesetzt, wird die angegebene Adresse gespeichert und eine etwaige bereits vorhandene Adresse dieser Organisation f\u00fcr diese Person aktualisiert. Ist \"remove\" auf \"true\" gesetzt,\nwird die aktuelle benutzerdefinierte Adresse im Datenbereich dieser Organisation gel\u00f6scht (es ist nicht erforderlich, die Adressdaten anzugeben).\n\n## role: Rolle\n\n\u00dcber diese Schnittstelle k\u00f6nnen zwei Rollen festgelegt werden: \"std_preregistered\" und \"std_admitted\". Ein/e Sch\u00fcler/in kann mehrere Zuordnungen als \"std_preregistered\" (Vormerkungen) in verschiedenen Organisationen haben.\nEs ist jedoch nur eine Zuordnung als \"std_admitted\" (Fixplatz) gleichzeitig zul\u00e4ssig. Die Rolle \"std_preregistered\" muss zugewiesen werden, wenn sich ein/e Sch\u00fcler/in an einer Schule bewirbt, aber noch nicht von der Schule best\u00e4tigt wurde.\nSobald die Schule die Zuweisung best\u00e4tigt, muss die Rolle \"std_admitted\" gesetzt werden, damit ein/e Sch\u00fcler/in nicht von zwei Schulen angenommen werden kann. Beide Zuordnungen sind zeitlich begrenzt und laufen automatisch aus, sobald das n\u00e4chste Schuljahr beginnt.\n\nDie Rolle als regul\u00e4re/r \"Sch\u00fcler/in\" wird \u00fcber das Sch\u00fclerverwaltungssystem an das Bildungsportal \u00fcbertragen und ist nicht Bestandteil dieser Schnittstelle. Auch die Rolle der Erziehungsberechtigten ergibt sich\naus der Sch\u00fclerrolle innerhalb einer Organisation und wird nicht \u00fcber diese Schnittstelle festgelegt.\n\n## Beispiel:\n<pre>\n{\n    \"orgid\": 900001,\n    \"bpkbf\": \"abcdefgh\",\n    \"attributes\": [\n        {\n            \"attribute\": \"lgn\",\n            \"type\": \"mother\",\n            \"bpkbf\": \"hgfedcba\",\n            \"islgn\": true,\n            \"isplayer\": true,\n            \"remove\": false\n        },\n        {\n            \"attribute\": \"lgn\",\n            \"type\": \"father\",\n            \"bpkbf\": \"zyx\",\n            \"islgn\": true,\n            \"isplayer\": true,\n            \"remove\": false\n        },\n        {\n            \"attribute\": \"communication\",\n            \"field\": \"email\",\n            \"value\": \"abcdedfh@zyx.com\",\n            \"remove\": false\n        },\n        [...]\n    ]\n}\n</pre>\n\nDieser Endpunkt akzeptiert auch GET-Anfragen mit Query-Parametern.",
                "requestBody": {
                    "description": "Parameters for local_eduportal_iface_manageuserdata_v1",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgid": {
                                        "type": "integer",
                                        "description": "the orgid for which the action is executed"
                                    },
                                    "bpkbf": {
                                        "type": "string",
                                        "description": "the bpkf of the person"
                                    },
                                    "attributes": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute": {
                                                    "type": "string",
                                                    "description": "lgn, communication, address or role"
                                                },
                                                "remove": {
                                                    "type": "boolean",
                                                    "description": "whether to add or remove the record"
                                                },
                                                "type": {
                                                    "type": "string",
                                                    "description": "lgn only: type of relationship (mother, father, ...)"
                                                },
                                                "bpkbf": {
                                                    "type": "string",
                                                    "description": "lgn only: bpkbf of the legal guardian"
                                                },
                                                "islgn": {
                                                    "type": "boolean",
                                                    "description": "lgn only: whether legal classification as legal guardian is granted or not"
                                                },
                                                "ispayer": {
                                                    "type": "boolean",
                                                    "description": "lgn only: whether caregiver has payment duty"
                                                },
                                                "field": {
                                                    "type": "string",
                                                    "description": "communication only: phone1, phone2 or email"
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "communication only: the field value"
                                                },
                                                "street": {
                                                    "type": "string",
                                                    "description": "address only: the street"
                                                },
                                                "streetnumber": {
                                                    "type": "string",
                                                    "description": "address only: the streetnumber"
                                                },
                                                "zip": {
                                                    "type": "string",
                                                    "description": "address only: the zip"
                                                },
                                                "city": {
                                                    "type": "string",
                                                    "description": "address only: the city"
                                                },
                                                "district": {
                                                    "type": "string",
                                                    "description": "address only: the district"
                                                },
                                                "country": {
                                                    "type": "string",
                                                    "description": "address only: the country"
                                                },
                                                "role": {
                                                    "type": "string",
                                                    "description": "role only: the role that shall be added or removed"
                                                }
                                            },
                                            "required": [
                                                "attribute",
                                                "remove"
                                            ]
                                        }
                                    }
                                },
                                "required": [
                                    "orgid",
                                    "bpkbf",
                                    "attributes"
                                ]
                            }
                        },
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgid": {
                                        "type": "integer",
                                        "description": "the orgid for which the action is executed"
                                    },
                                    "bpkbf": {
                                        "type": "string",
                                        "description": "the bpkf of the person"
                                    },
                                    "attributes": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "attribute": {
                                                    "type": "string",
                                                    "description": "lgn, communication, address or role"
                                                },
                                                "remove": {
                                                    "type": "boolean",
                                                    "description": "whether to add or remove the record"
                                                },
                                                "type": {
                                                    "type": "string",
                                                    "description": "lgn only: type of relationship (mother, father, ...)"
                                                },
                                                "bpkbf": {
                                                    "type": "string",
                                                    "description": "lgn only: bpkbf of the legal guardian"
                                                },
                                                "islgn": {
                                                    "type": "boolean",
                                                    "description": "lgn only: whether legal classification as legal guardian is granted or not"
                                                },
                                                "ispayer": {
                                                    "type": "boolean",
                                                    "description": "lgn only: whether caregiver has payment duty"
                                                },
                                                "field": {
                                                    "type": "string",
                                                    "description": "communication only: phone1, phone2 or email"
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "communication only: the field value"
                                                },
                                                "street": {
                                                    "type": "string",
                                                    "description": "address only: the street"
                                                },
                                                "streetnumber": {
                                                    "type": "string",
                                                    "description": "address only: the streetnumber"
                                                },
                                                "zip": {
                                                    "type": "string",
                                                    "description": "address only: the zip"
                                                },
                                                "city": {
                                                    "type": "string",
                                                    "description": "address only: the city"
                                                },
                                                "district": {
                                                    "type": "string",
                                                    "description": "address only: the district"
                                                },
                                                "country": {
                                                    "type": "string",
                                                    "description": "address only: the country"
                                                },
                                                "role": {
                                                    "type": "string",
                                                    "description": "role only: the role that shall be added or removed"
                                                }
                                            },
                                            "required": [
                                                "attribute",
                                                "remove"
                                            ]
                                        }
                                    }
                                },
                                "required": [
                                    "orgid",
                                    "bpkbf",
                                    "attributes"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/local_eduportal_iface_manageuserdata_v1_returns"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/local/eduportal/webservice/server.php/local_eduportal_iface_notification": {
            "post": {
                "summary": "Benachrichtigungen",
                "description": "# Benachrichtigung senden\n\nDiese Schnittstelle erm\u00f6glicht es einer Partneranwendung, eine Benachrichtigung zu senden. Abh\u00e4ngig von der Benutzerpr\u00e4ferenz sendet das Bildungsportal die Benachrichtigung entweder als Push-Benachrichtigung oder als E-Mail.\n\nJede Benachrichtigung muss an einen bestimmten Sch\u00fcler gerichtet sein. Mit Hilfe der Parameter dieser Schnittstelle kann entschieden werden, ob die Nachricht (1) nur an den Sch\u00fcler, (2) nur an die Erziehungsberechtigten oder (3) an alle Empf\u00e4nger gesendet werden soll.\n\nGilt ein Sch\u00fcler als selbstberechtigt (es gibt keine Erziehungsberechtigten), wird die Nachricht immer nur an den Sch\u00fcler gesendet.\n\n\nDieser Endpunkt akzeptiert auch GET-Anfragen mit Query-Parametern.",
                "requestBody": {
                    "description": "Parameters for local_eduportal_iface_notification",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgid": {
                                        "type": "integer",
                                        "description": "the orgid on behalf of which the notification is sent."
                                    },
                                    "bpkbf": {
                                        "type": "string",
                                        "description": "the bpk-bf of the referenced person"
                                    },
                                    "message": {
                                        "type": "string",
                                        "description": "the message"
                                    },
                                    "notifyperson": {
                                        "type": "integer",
                                        "description": "1 to notify person, 0 if not"
                                    },
                                    "notifylgn": {
                                        "type": "integer",
                                        "description": "1 to notify legal guardians, 0 if not, in case there are no legal guardians fallback to notifyperson"
                                    },
                                    "subject": {
                                        "type": "string",
                                        "description": "the subject (maximum: 100 characters)"
                                    },
                                    "url": {
                                        "type": "string",
                                        "format": "url",
                                        "description": "an optional url"
                                    }
                                },
                                "required": [
                                    "orgid",
                                    "bpkbf",
                                    "message",
                                    "notifyperson",
                                    "notifylgn"
                                ]
                            }
                        },
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgid": {
                                        "type": "integer",
                                        "description": "the orgid on behalf of which the notification is sent."
                                    },
                                    "bpkbf": {
                                        "type": "string",
                                        "description": "the bpk-bf of the referenced person"
                                    },
                                    "message": {
                                        "type": "string",
                                        "description": "the message"
                                    },
                                    "notifyperson": {
                                        "type": "integer",
                                        "description": "1 to notify person, 0 if not"
                                    },
                                    "notifylgn": {
                                        "type": "integer",
                                        "description": "1 to notify legal guardians, 0 if not, in case there are no legal guardians fallback to notifyperson"
                                    },
                                    "subject": {
                                        "type": "string",
                                        "description": "the subject (maximum: 100 characters)"
                                    },
                                    "url": {
                                        "type": "string",
                                        "format": "url",
                                        "description": "an optional url"
                                    }
                                },
                                "required": [
                                    "orgid",
                                    "bpkbf",
                                    "message",
                                    "notifyperson",
                                    "notifylgn"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/local_eduportal_iface_notification_returns"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/local/eduportal/webservice/server.php/local_eduportal_iface_permission": {
            "post": {
                "summary": "App-Berechtigungen festlegen",
                "description": "# App-Berechtigungen festlegen\n\nDiese Schnittstelle erm\u00f6glicht es einer Partneranwendung, ihre eigenen App-Berechtigungen im Rahmen der Organisationen, auf die sie Zugriff hat, zu verwalten.\n\nAbh\u00e4ngig von der Konfiguration der Anwendung, die von der Bildungsportal-Websiteadministration verwaltet wird, kann eine Anwendung die Berechtigungen\npro Benutzergruppe (std, tch, lgn, ...) oder f\u00fcr bestimmte Benutzer steuern.\n\n\nDieser Endpunkt akzeptiert auch GET-Anfragen mit Query-Parametern.",
                "requestBody": {
                    "description": "Parameters for local_eduportal_iface_permission",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgid": {
                                        "type": "integer",
                                        "description": "the orgid on behalf of which the document is submitted."
                                    },
                                    "change": {
                                        "type": "string",
                                        "default": "add",
                                        "description": "either \"add\" or \"remove\" the permission"
                                    },
                                    "usergroups": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "description": "user-group for ad group permission (e.g. std, tch, lgn, ...)"
                                        },
                                        "description": "list of user-groups"
                                    },
                                    "users": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "bpkbf": {
                                                    "type": "string",
                                                    "description": "the bpk-bf of the user"
                                                },
                                                "role": {
                                                    "type": "string",
                                                    "description": "the role of the user (std, tch, lgn, ...)"
                                                }
                                            },
                                            "required": [
                                                "bpkbf",
                                                "role"
                                            ]
                                        },
                                        "description": "list of users and their roles to toggle ad personam permissions"
                                    }
                                },
                                "required": [
                                    "orgid"
                                ]
                            }
                        },
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgid": {
                                        "type": "integer",
                                        "description": "the orgid on behalf of which the document is submitted."
                                    },
                                    "change": {
                                        "type": "string",
                                        "default": "add",
                                        "description": "either \"add\" or \"remove\" the permission"
                                    },
                                    "usergroups": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "description": "user-group for ad group permission (e.g. std, tch, lgn, ...)"
                                        },
                                        "description": "list of user-groups"
                                    },
                                    "users": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "bpkbf": {
                                                    "type": "string",
                                                    "description": "the bpk-bf of the user"
                                                },
                                                "role": {
                                                    "type": "string",
                                                    "description": "the role of the user (std, tch, lgn, ...)"
                                                }
                                            },
                                            "required": [
                                                "bpkbf",
                                                "role"
                                            ]
                                        },
                                        "description": "list of users and their roles to toggle ad personam permissions"
                                    }
                                },
                                "required": [
                                    "orgid"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/local_eduportal_iface_permission_returns"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/local/eduportal/webservice/server.php/local_eduportal_iface_readorgdata": {
            "post": {
                "summary": "Stammdaten \u00fcber Schulen abrufen",
                "description": "# Stammdaten \u00fcber Schulen abrufen\n\nDiese Schnittstelle liefert einer Partneranwendung Stammdaten \u00fcber jene Schulen, auf die sie zugreifen darf.\n\nWenn Sie das Feld `orgids` leer lassen, erhalten Sie Daten aller Schulen, die Ihre Anwendung abrufen darf.\n\n__Bitte beachten Sie, dass diese Dokumentation das Maximum an Daten darstellt, die mit Hilfe dieser Schnittstelle abgerufen werden k\u00f6nnen.\nIm Hinblick auf Datenminimierung kann die Anzahl der Attribute oder der verf\u00fcgbaren Benutzertypen f\u00fcr Ihre Anwendung reduziert werden.__\n\n\nDieser Endpunkt akzeptiert auch GET-Anfragen mit Query-Parametern.",
                "requestBody": {
                    "description": "Parameters for local_eduportal_iface_readorgdata",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgids": {
                                        "type": "string",
                                        "description": "the orgids delimited by comma"
                                    }
                                }
                            }
                        },
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgids": {
                                        "type": "string",
                                        "description": "the orgids delimited by comma"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/local_eduportal_iface_readorgdata_returns"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/local/eduportal/webservice/server.php/local_eduportal_iface_readuserapps_v1": {
            "post": {
                "summary": "Nutzeranwendungen V1",
                "description": "# Nutzeranwendungen\n\nDiese Schnittstelle erm\u00f6glicht es einer Partneranwendung, eine Liste aller Anwendungen, die ein bestimmter Benutzer starten kann, mit ihren jeweiligen Deep Links zu erhalten.\n\n\nDieser Endpunkt akzeptiert auch GET-Anfragen mit Query-Parametern.",
                "requestBody": {
                    "description": "Parameters for local_eduportal_iface_readuserapps_v1",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "bpkbf": {
                                        "type": "string",
                                        "description": "the bpkbf or vbpkbf of the user"
                                    }
                                },
                                "required": [
                                    "bpkbf"
                                ]
                            }
                        },
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "bpkbf": {
                                        "type": "string",
                                        "description": "the bpkbf or vbpkbf of the user"
                                    }
                                },
                                "required": [
                                    "bpkbf"
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/local_eduportal_iface_readuserapps_v1_returns"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/local/eduportal/webservice/server.php/local_eduportal_iface_readuserdata_v2": {
            "post": {
                "summary": "Stammdaten \u00fcber Personen abrufen V2",
                "description": "# Benutzerdaten lesen\n\nDiese Schnittstelle erm\u00f6glicht es Partneranwendungen Daten \u00fcber Personen einer Organisation auszulesen, auf die die Anwendung zugreifen darf.\n\nWenn Sie alle Felder leer lassen, erhalten Sie alle Daten, die Ihre Anwendung abrufen darf.\nSie k\u00f6nnen Ihre Abfrage jedoch effizienter gestalten, indem Sie die Filterattribute nutzen.\n\n**Es wird dringend empfohlen den Parameter `timechanged` zu verwenden, damit nur jene Organisationen abgerufen werden, die sich seit dem angegebenen Zeitstempel ge\u00e4ndert haben.**\n\n\nDieser Endpunkt akzeptiert auch GET-Anfragen mit Query-Parametern.",
                "requestBody": {
                    "description": "Parameters for local_eduportal_iface_readuserdata_v2",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgids": {
                                        "type": "string",
                                        "description": "the orgids delimited by comma"
                                    },
                                    "usertypes": {
                                        "type": "string",
                                        "description": "requested user types (std, lgn, tch, dir) as comma separated list"
                                    },
                                    "timechanged": {
                                        "type": "integer",
                                        "description": "request only items that were changed since given timestamp"
                                    },
                                    "limitnum": {
                                        "type": "integer",
                                        "default": 1000,
                                        "description": "limit item count"
                                    }
                                }
                            }
                        },
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgids": {
                                        "type": "string",
                                        "description": "the orgids delimited by comma"
                                    },
                                    "usertypes": {
                                        "type": "string",
                                        "description": "requested user types (std, lgn, tch, dir) as comma separated list"
                                    },
                                    "timechanged": {
                                        "type": "integer",
                                        "description": "request only items that were changed since given timestamp"
                                    },
                                    "limitnum": {
                                        "type": "integer",
                                        "default": 1000,
                                        "description": "limit item count"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/local_eduportal_iface_readuserdata_v2_returns"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/local/eduportal/webservice/server.php/local_eduportal_iface_readuserdata_v3": {
            "post": {
                "summary": "Stammdaten \u00fcber Personen abrufen V3",
                "description": "# Benutzerdaten lesen\n\nDiese Schnittstelle erm\u00f6glicht es Partneranwendungen Daten \u00fcber Personen einer Organisation auszulesen, auf die die Anwendung zugreifen darf.\n\nWenn Sie alle Felder leer lassen, erhalten Sie alle Daten, die Ihre Anwendung abrufen darf.\nSie k\u00f6nnen Ihre Abfrage jedoch effizienter gestalten, indem Sie die Filterattribute nutzen.\n\n**Es wird dringend empfohlen den Parameter `timechanged` zu verwenden, damit nur jene Organisationen abgerufen werden, die sich seit dem angegebenen Zeitstempel ge\u00e4ndert haben.**\n\n\nDieser Endpunkt akzeptiert auch GET-Anfragen mit Query-Parametern.",
                "requestBody": {
                    "description": "Parameters for local_eduportal_iface_readuserdata_v3",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgids": {
                                        "type": "string",
                                        "description": "comma-delimited list of organization IDs to query, empty = all accessible orgs"
                                    },
                                    "usertypes": {
                                        "type": "string",
                                        "description": "requested user types (std, lgn, tch, dir) as comma-separated list, empty = all allowed types"
                                    },
                                    "timechanged": {
                                        "type": "integer",
                                        "description": "UNIX timestamp - only return users modified since this time, use 0 for all users"
                                    },
                                    "limitnum": {
                                        "type": "integer",
                                        "default": 50000,
                                        "description": "maximum number of users to return (for pagination)"
                                    },
                                    "cursor": {
                                        "type": "string",
                                        "description": "pagination cursor from previous response"
                                    }
                                }
                            }
                        },
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orgids": {
                                        "type": "string",
                                        "description": "comma-delimited list of organization IDs to query, empty = all accessible orgs"
                                    },
                                    "usertypes": {
                                        "type": "string",
                                        "description": "requested user types (std, lgn, tch, dir) as comma-separated list, empty = all allowed types"
                                    },
                                    "timechanged": {
                                        "type": "integer",
                                        "description": "UNIX timestamp - only return users modified since this time, use 0 for all users"
                                    },
                                    "limitnum": {
                                        "type": "integer",
                                        "default": 50000,
                                        "description": "maximum number of users to return (for pagination)"
                                    },
                                    "cursor": {
                                        "type": "string",
                                        "description": "pagination cursor from previous response"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/local_eduportal_iface_readuserdata_v3_returns"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/local/eduportal/webservice/server.php/local_eduportal_iface_searchuserdata_v2": {
            "post": {
                "summary": "Stammdaten \u00fcber Personen suchen V2",
                "description": "# Nutzerdaten suchen\n\nDiese Schnittstelle erm\u00f6glicht es Partneranwendungen Daten \u00fcber Personen einer Organisation zu suchen, auf die die Anwendung zugreifen darf.\n\nSie __m\u00fcssen mindestens__ eines der folgenden Kriterien angeben\n- `bpkbf` _oder_\n- `idp_subjectid_v1` _oder_\n- `sapid` _oder_\n- `sokratesid` _oder_\n- `dateofbirth` _und_ `zip`\n\nSie __k\u00f6nnen__ Ihre Suche spezifischer machen, indem Sie einen Namen angeben.\nBeliebige Teile des Namens oder mehrere durch Leerzeichen getrennte Namensteile sind erlaubt.\nGro\u00df- und Kleinschreibung wird ignoriert, die Akzentsensibilit\u00e4t ist deaktiviert (bspw. wird eine Suche nach \"Hacek\" auch den Namen \"Ha\u010dek\" finden).\nMit dem Attribut `usertypes` k\u00f6nnen Sie steuern, dass Sie nur Benutzer aus dem jeweiligen Benutzertyp erhalten. Wenn Sie das Feld leer lassen, erhalten Sie alle Benutzertypen\nauf die Ihre Anwendung zugreifen darf.\n\n__Bitte beachten Sie, dass diese Dokumentation das Maximum an Daten darstellt, die mit Hilfe dieser Schnittstelle abgerufen werden k\u00f6nnen.\nIm Hinblick auf Datenminimierung kann die Anzahl der Attribute oder der verf\u00fcgbaren Benutzertypen f\u00fcr Ihre Anwendung reduziert werden.__\n\n\nDieser Endpunkt akzeptiert auch GET-Anfragen mit Query-Parametern.",
                "requestBody": {
                    "description": "Parameters for local_eduportal_iface_searchuserdata_v2",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "bpkbf": {
                                        "type": "string",
                                        "description": "search for a bpkbf"
                                    },
                                    "idp_subjectid_v1": {
                                        "type": "string",
                                        "description": "search for a BiP Identity"
                                    },
                                    "sapid": {
                                        "type": "integer",
                                        "description": "search for a sapid"
                                    },
                                    "sokratesid": {
                                        "type": "integer",
                                        "description": "search for a sokratesid"
                                    },
                                    "dateofbirth": {
                                        "type": "string",
                                        "description": "search for a dateofbirth (YYYY-MM-DD), must be used in conjunction with zip"
                                    },
                                    "zip": {
                                        "type": "integer",
                                        "description": "search within a known ZIP, must be used in conjunction with dateofbirth"
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "search for name"
                                    },
                                    "usertypes": {
                                        "type": "string",
                                        "description": "requested user types as comma separated list"
                                    }
                                }
                            }
                        },
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "bpkbf": {
                                        "type": "string",
                                        "description": "search for a bpkbf"
                                    },
                                    "idp_subjectid_v1": {
                                        "type": "string",
                                        "description": "search for a BiP Identity"
                                    },
                                    "sapid": {
                                        "type": "integer",
                                        "description": "search for a sapid"
                                    },
                                    "sokratesid": {
                                        "type": "integer",
                                        "description": "search for a sokratesid"
                                    },
                                    "dateofbirth": {
                                        "type": "string",
                                        "description": "search for a dateofbirth (YYYY-MM-DD), must be used in conjunction with zip"
                                    },
                                    "zip": {
                                        "type": "integer",
                                        "description": "search within a known ZIP, must be used in conjunction with dateofbirth"
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "search for name"
                                    },
                                    "usertypes": {
                                        "type": "string",
                                        "description": "requested user types as comma separated list"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/local_eduportal_iface_searchuserdata_v2_returns"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/local/eduportal/webservice/server.php/local_eduportal_iface_searchuserdata_v3": {
            "post": {
                "summary": "Stammdaten \u00fcber Personen suchen V3",
                "description": "# Nutzerdaten suchen\n\nDiese Schnittstelle erm\u00f6glicht es Partneranwendungen Daten \u00fcber Personen einer Organisation zu suchen, auf die die Anwendung zugreifen darf.\n\nSie __m\u00fcssen mindestens__ eines der folgenden Kriterien angeben\n- `bpkbf` _oder_\n- `idp_subjectid_v1` _oder_\n- `sapid` _oder_\n- `sokratesid` _oder_\n- `dateofbirth` _und_ `zip`\n\nSie __k\u00f6nnen__ Ihre Suche spezifischer machen, indem Sie einen Namen angeben.\nBeliebige Teile des Namens oder mehrere durch Leerzeichen getrennte Namensteile sind erlaubt.\nGro\u00df- und Kleinschreibung wird ignoriert, die Akzentsensibilit\u00e4t ist deaktiviert (bspw. wird eine Suche nach \"Hacek\" auch den Namen \"Ha\u010dek\" finden).\nMit dem Attribut `usertypes` k\u00f6nnen Sie steuern, dass Sie nur Benutzer aus dem jeweiligen Benutzertyp erhalten. Wenn Sie das Feld leer lassen, erhalten Sie alle Benutzertypen\nauf die Ihre Anwendung zugreifen darf.\n\n__Bitte beachten Sie, dass diese Dokumentation das Maximum an Daten darstellt, die mit Hilfe dieser Schnittstelle abgerufen werden k\u00f6nnen.\nIm Hinblick auf Datenminimierung kann die Anzahl der Attribute oder der verf\u00fcgbaren Benutzertypen f\u00fcr Ihre Anwendung reduziert werden.__\n\n\nDieser Endpunkt akzeptiert auch GET-Anfragen mit Query-Parametern.",
                "requestBody": {
                    "description": "Parameters for local_eduportal_iface_searchuserdata_v3",
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "bpkbf": {
                                        "type": "string",
                                        "description": "search for a bpkbf"
                                    },
                                    "documentid": {
                                        "type": "string",
                                        "description": "search for a documentid for the official signature service"
                                    },
                                    "idp_subjectid_v1": {
                                        "type": "string",
                                        "description": "search for a BiP Identity"
                                    },
                                    "sapid": {
                                        "type": "integer",
                                        "description": "search for a sapid"
                                    },
                                    "sokratesid": {
                                        "type": "integer",
                                        "description": "search for a sokratesid"
                                    },
                                    "dateofbirth": {
                                        "type": "string",
                                        "description": "search for a dateofbirth (YYYY-MM-DD), must be used in conjunction with zip"
                                    },
                                    "zip": {
                                        "type": "integer",
                                        "description": "search within a known ZIP, must be used in conjunction with dateofbirth"
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "search for name"
                                    },
                                    "usertypes": {
                                        "type": "string",
                                        "description": "requested user types as comma separated list"
                                    },
                                    "searchrsv": {
                                        "type": "boolean",
                                        "description": "whether to extend search for RSV"
                                    }
                                }
                            }
                        },
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "bpkbf": {
                                        "type": "string",
                                        "description": "search for a bpkbf"
                                    },
                                    "documentid": {
                                        "type": "string",
                                        "description": "search for a documentid for the official signature service"
                                    },
                                    "idp_subjectid_v1": {
                                        "type": "string",
                                        "description": "search for a BiP Identity"
                                    },
                                    "sapid": {
                                        "type": "integer",
                                        "description": "search for a sapid"
                                    },
                                    "sokratesid": {
                                        "type": "integer",
                                        "description": "search for a sokratesid"
                                    },
                                    "dateofbirth": {
                                        "type": "string",
                                        "description": "search for a dateofbirth (YYYY-MM-DD), must be used in conjunction with zip"
                                    },
                                    "zip": {
                                        "type": "integer",
                                        "description": "search within a known ZIP, must be used in conjunction with dateofbirth"
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "search for name"
                                    },
                                    "usertypes": {
                                        "type": "string",
                                        "description": "requested user types as comma separated list"
                                    },
                                    "searchrsv": {
                                        "type": "boolean",
                                        "description": "whether to extend search for RSV"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/local_eduportal_iface_searchuserdata_v3_returns"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        }
    }
}