{
    "openapi": "3.0.3",
    "info": {
        "title": "eduPortal",
        "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\nThis interface allows a partner application to access the list of all partners and apps that are connected to the EdTech Hub.\n\n\nThis endpoint also accepts GET requests with query parameters.",
                "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": "Educluster",
                "description": "# Educluster\n\nThis interface allows a partner application to access the list of all educlusters.\n\n\nThis endpoint also accepts GET requests with query parameters.",
                "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": "Eduregions",
                "description": "# EdTech Hub\n\nThis interface allows a partner application to access the list of all eduregions.\n\n\nThis endpoint also accepts GET requests with query parameters.",
                "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": "Personenphotos",
                "description": "This interface enables the retrieval of profile and/or passport photos.\n\nThis endpoint also accepts GET requests with query parameters.",
                "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": "Create groups",
                "description": "# Create groups\n\nThis interface allows external applications to create cohorts (global groups) in the school year course category of a school, assign members and optionally set app permissions for the group.\n\nThe cohort is created with description=external and uniquely identified by idnumber (appshortname_externalid).\n\n## Parameters\n\n- **externalid**: Unique ID of the group in the source system\n- **name**: Name of the group\n- **orgid**: School number (Schulkennzahl) of the organisation\n- **members**: List of members with bPK-BF and role type\n- **permissions**: Optional list of app shortnames for group permissions\n- **validstart**: Validity start (UNIX timestamp, 0 = current date)\n- **validend**: Validity end (UNIX timestamp, 0 = end of current school year)\n\nWhen called again with the same externalid and orgid, the existing group is updated (upsert).\n\nThis endpoint also accepts GET requests with query parameters.",
                "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": "Manage user data V1",
                "description": "# Manage user data\n\nThis interface allows a partner application manage certain user data besides / prior the the schools management system. The intention is to enhance the process of the school enrolment, in which\nthe Austrian education portal acts as national register in the Austrian Schools Data Network. Partner applications in the field of school enrolment typically use the searchuserdata-interface\nto retrieve the personal data of students and their legal guardians. Personal data that has been changed, selected or entered by the respective school, must be transmitted immediately to this interface.\n\nThe usage works as follows:\n\nThe request specifies the organization id (\"Schulkennzahl\") of the respective org and the bpk-BF of the user whose data shall be managed. A list of attributes is transmitted by the application to the\ninterface, each attribute can be appear multiple times (e.g. multiple phone number). These changes are executed in the exact ordering as given (which may be important if attributes are removed).\n\nBasically, there are 4 types of attributes: lgn, communication, address and role.\n\n## lgn: Legal guardians\n\nIn schools, all caregivers of children are often referred to as \"legal guardians\", regardless of their actual legal status. The education portal therefore uses the common term \"legal guardians\" for all caregivers\nand indicates their legal status with the code \"islgn\". Persons that act as caregivers shall be linked with the pupils. The flag \"remove\" indicates, that the legal guardian shall be removed completely\nfrom the pupil. Caregivers, that have no legal classification as legal guardian, shall be kept but their \"islgn\"-flag be set to false. In certain cases, caregivers have \"islgn\" false, but have the\npayment duty (\"ispayer\" true).\n\n## communication\n\nCommuncation attributes are phone numbers and email addresses. Multiple values per org and person are allowed. With the flag \"remove\" true, a record can be removed. If \"remove\" is false, it will be added.\nIn case a record must be changed, it has to be removed first with its old value, and added afterwards with the new value.\n\n## address\n\nThe education portal stores the official primary and any secondary residences directly from the central registry of residents. However, an organization may store 1 custom address per person.\nIn case the \"remove\" flag is false, the given address will be stored and updates any other address of the organization for that person. If \"remove\" is true, the current address will be removed (there is\nno need to include the address details).\n\n## role\n\nTwo roles can be set with this interface: std_preregistered and std_admitted. A student can have multiple assignments as \"std_preregistered\" in various organizations. However, only one assignment\nas \"std_admitted\" is allowed at the same time. The std_preregistered-role must be assigned, when a student applies for a school, but is not yet confirmed by the school. In case the school\nconfirms the assignment, the role \"std_admitted\" must be set, so that a student cannot be accepted by two schools. Both roles are limited in time and will automatically expire when the next school year starts.\n\nThe role as regular \"student\" is transferred to the education portal via the schools management system and is not part of this interface. Also, the role of legal guardians is a consequence\nof the student role in an organization and is not set with this interface.\n\n## Example:\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\nThis endpoint also accepts GET requests with query parameters.",
                "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": "Notification",
                "description": "# Send notification\n\nThis interface allows a partner application to send a notification. Depending on the user preference, eduportal sends the notification either as push notification or email.\n\nEach notification has to address a particular student. By use of the parameters of this interface, a decision can made if the message should be sent to (1) the student only, (2) the legal guardians only or (3) all recipients.\n\nIf a student is considered to be self-authorized (there are no legal guardians), the message is always only sent to the student.\n\n\nThis endpoint also accepts GET requests with query parameters.",
                "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": "Set app permissions",
                "description": "# Set app permissions\n\nThis interface allows a partner application to manage its own app permissions in the scope of the organizations it has access to.\n\nDepending on the configuration of the application as managed by the eduportal site administration, an app can toggle permissions\nper user group (std, tch, lgn, ...) or for particular users.\n\n\nThis endpoint also accepts GET requests with query parameters.",
                "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": "Read org data",
                "description": "# Read org data\n\nThis interface allows a partner application to read data about the organizations it has access to.\n\nIf you leave the `orgids` field empty, you will receive data for all schools that your application is allowed to call up.\n\n__Please be aware that this documentation presents the maximum of data that can be retrieved by the use of this interface.\nIn regard of data minimization, the number of attributes or available usertypes may be reduced for your application.__\n\n\nThis endpoint also accepts GET requests with query parameters.",
                "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": "Read Userapps V1",
                "description": "# Read user apps\n\nThis interface allows a partner application to obtain a list of all applications a certain user can launch with their respective deep links.\n\n\nThis endpoint also accepts GET requests with query parameters.",
                "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": "Read Userdata V2",
                "description": "# Read user data\n\nThis interface allows a partner application to read data about users of organizations it has access to.\n\nIf you leave all fields empty, you receive all data that your application is permitted to retrieve. You can, however,\nmake your query more efficient using the filter attributes.\n\n**It is strongly advised to use the `timechanged` parameter, so that only those organizations are retrieved, that have changed since that given timestamp.**\n\n\nThis endpoint also accepts GET requests with query parameters.",
                "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": "Read Userdata V3",
                "description": "# Read user data\n\nThis interface allows a partner application to read data about users of organizations it has access to.\n\nIf you leave all fields empty, you receive all data that your application is permitted to retrieve. You can, however,\nmake your query more efficient using the filter attributes.\n\n**It is strongly advised to use the `timechanged` parameter, so that only those organizations are retrieved, that have changed since that given timestamp.**\n\n\nThis endpoint also accepts GET requests with query parameters.",
                "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": "Search Userdata V2",
                "description": "# Search user data\n\nThis interface allows a partner application to search data about users of organizations it has access to.\n\nYou __must at least__ provide one of the following criteria\n- `bpkbf` _or_\n- `idp_subjectid_v1` _or_\n- `sapid` _or_\n- `sokratesid` _or_\n- `dateofbirth` _and_ `zip`\n\nYou __can__ make your search more specific by providing the `name`-attribute. Any parts of the name or multiple name parts delimited by space are allowed.\nAny part of the name or several parts of the name separated by spaces are permitted.\nUpper and lower case is ignored, accent sensitivity is deactivated (e.g. a search for \"Hacek\" will also find the name \"Ha\u010dek\").\nUsing the `usertypes`-attribute you can choose users from the respective user type only. If you provide none, you receive all user types\nthat your application is permitted to access.\n\n__Please be aware that this documentation presents the maximum of data that can be retrieved by the use of this interface.\nIn regard of data minimization, the number of attributes or available usertypes may be reduced for your application.__\n\n\nThis endpoint also accepts GET requests with query parameters.",
                "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": "Search Userdata V3",
                "description": "# Search user data\n\nThis interface allows a partner application to search data about users of organizations it has access to.\n\nYou __must at least__ provide one of the following criteria\n- `bpkbf` _or_\n- `idp_subjectid_v1` _or_\n- `sapid` _or_\n- `sokratesid` _or_\n- `dateofbirth` _and_ `zip`\n\nYou __can__ make your search more specific by providing the `name`-attribute. Any parts of the name or multiple name parts delimited by space are allowed.\nAny part of the name or several parts of the name separated by spaces are permitted.\nUpper and lower case is ignored, accent sensitivity is deactivated (e.g. a search for \"Hacek\" will also find the name \"Ha\u010dek\").\nUsing the `usertypes`-attribute you can choose users from the respective user type only. If you provide none, you receive all user types\nthat your application is permitted to access.\n\n__Please be aware that this documentation presents the maximum of data that can be retrieved by the use of this interface.\nIn regard of data minimization, the number of attributes or available usertypes may be reduced for your application.__\n\n\nThis endpoint also accepts GET requests with query parameters.",
                "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": []
                    }
                ]
            }
        }
    }
}