Download OpenAPI specification:
Endpoints για δημιουργία, ενημέρωση και συγχρονισμό χρηστών στο Eisigites.
Τα endpoints αυτά εκτίθενται από το Eisigites, ώστε το κεντρικό σύστημα Διαχείρισης Χρηστών να μπορεί να δημιουργεί, να ενημερώνει και να συγχρονίζει τους τοπικούς shadow users της εφαρμογής.
Το κεντρικό σύστημα Διαχείρισης Χρηστών παραμένει το source of truth.
Το Eisigites κρατά δικό του τοπικό user id και το αντιστοιχίζει με το
κεντρικό user id μέσω του πεδίου externalUserId.
Διαθέσιμοι ρόλοι, φορείς/ιδιότητες, οργανισμοί, γραφεία και permissions για user provisioning.
Επιστρέφει τις επιτρεπτές τιμές που χρειάζεται το κεντρικό σύστημα Διαχείρισης Χρηστών για να κάνει σωστό provisioning στο Eisigites.
Το πεδίο officeIds στα user payloads πρέπει να περιέχει τιμές από
τα offices.id που έχουν assignable=true. Τα organizations
προκύπτουν από τα top-level offices του Eisigites, επειδή η εφαρμογή
δεν διαθέτει ξεχωριστό τοπικό Organization model.
| generatedAt required | string <date-time> | ||||||||||||||||||||||
required | Πίνακας απόobjects (RoleReference) | ||||||||||||||||||||||
Array
| |||||||||||||||||||||||
required | Πίνακας απόobjects (StakeholderReference) | ||||||||||||||||||||||
Array
| |||||||||||||||||||||||
required | Πίνακας απόobjects (OrganizationReference) Top-level offices που λειτουργούν ως οργανωτικές οντότητες στο Eisigites. | ||||||||||||||||||||||
Array
| |||||||||||||||||||||||
required | Πίνακας απόobjects (OfficeReference) Γραφεία του Eisigites. Για user provisioning χρησιμοποιούνται τα | ||||||||||||||||||||||
Array
| |||||||||||||||||||||||
required | Πίνακας απόobjects (TagReference) | ||||||||||||||||||||||
Array
| |||||||||||||||||||||||
required | Πίνακας απόobjects (SpecialPermissionReference) Ορατά special permissions που μπορούν να σταλούν στο | ||||||||||||||||||||||
Array
| |||||||||||||||||||||||
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
{- "generatedAt": "2026-07-06T18:00:00.000Z",
- "roles": [
- {
- "name": "auditor",
- "title": "Εισηγητής",
- "enabledInAddUserFormForRoles": [
- "admin",
- "users_editor"
]
}
], - "stakeholders": [
- {
- "name": "cadastre",
- "title": "Κτηματολόγιο"
}
], - "organizations": [
- {
- "id": "6687f1000000000000000000",
- "name": "Κεντρικό Γραφείο",
- "spekOfficeId": "100",
- "updatedAt": "2026-07-06T18:00:00.000Z"
}
], - "offices": [
- {
- "id": "6687f2000000000000000000",
- "name": "Υποκατάστημα Αθήνας",
- "spekOfficeId": "101",
- "spekOfficeParentId": "100",
- "assignable": true,
- "parent": {
- "id": "6687f1000000000000000000",
- "name": "Κεντρικό Γραφείο",
- "spekOfficeId": "100"
}, - "updatedAt": "2026-07-06T18:00:00.000Z"
}
], - "tags": [
- {
- "value": "tf21",
- "label": "Task Force 21"
}
], - "specialPermissions": [
- {
- "name": "canMarkCaseAsOristiki",
- "title": "Σήμανση ως οριστική στο ΣΠΕΚ",
- "roles": [
- "manager"
]
}
]
}Δημιουργεί ή ενημερώνει έως 500 χρήστες σε ένα request.
Οι υπάρχοντες χρήστες εντοπίζονται με βάση το provider + externalUserId.
Αν δεν υπάρχει ακόμα external mapping, το Eisigites μπορεί να συνδέσει
υπάρχοντα τοπικό χρήστη με βάση το username ή το email, εφόσον ο
χρήστης αυτός δεν είναι ήδη συνδεδεμένος με άλλο external user.
required | Πίνακας απόobjects (UserProvisioningInput) [ 1 .. 500 ] items | ||||||||||||||||||||||||||||||||||||||||||||||
Array ([ 1 .. 500 ] items)
| |||||||||||||||||||||||||||||||||||||||||||||||
| total required | integer >= 0 | ||||||||||||||||||||||||||||||||||||||||||||||
| succeeded required | integer >= 0 | ||||||||||||||||||||||||||||||||||||||||||||||
| failed required | integer >= 0 | ||||||||||||||||||||||||||||||||||||||||||||||
required | Πίνακας απόobjects or objects (UsersSyncResult) | ||||||||||||||||||||||||||||||||||||||||||||||
Array One of
| |||||||||||||||||||||||||||||||||||||||||||||||
| total required | integer >= 0 | ||||||||||||||||||||||||||||||||||||||||||||||
| succeeded required | integer >= 0 | ||||||||||||||||||||||||||||||||||||||||||||||
| failed required | integer >= 0 | ||||||||||||||||||||||||||||||||||||||||||||||
required | Πίνακας απόobjects or objects (UsersSyncResult) | ||||||||||||||||||||||||||||||||||||||||||||||
Array One of
| |||||||||||||||||||||||||||||||||||||||||||||||
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
{- "users": [
- {
- "externalUserId": "42",
- "username": "ipapadopoulos",
- "email": "ipapadopoulos@example.com",
- "firstName": "Ioannis",
- "lastName": "Papadopoulos",
- "enabled": true,
- "role": "admin",
- "stakeholder": "cadastre",
- "roles": [
- "Admin"
], - "organization": {
- "id": "10",
- "title": "Organization Name"
}
}
]
}{- "total": 1,
- "succeeded": 1,
- "failed": 0,
- "results": [
- {
- "externalUserId": "string",
- "status": "CREATED",
- "user": {
- "localUserId": "6687f1000000000000000000",
- "externalUserId": "42",
- "provider": "central-auth",
- "username": "ipapadopoulos",
- "email": "ipapadopoulos@example.com",
- "firstName": "Ioannis",
- "lastName": "Papadopoulos",
- "enabled": true,
- "role": "admin",
- "stakeholder": "lawyer",
- "officeIds": [ ],
- "roles": [
- "Admin"
], - "organization": {
- "id": "42",
- "title": "string",
- "code": "string"
}, - "lastSyncedAt": "2026-07-04T09:00:00.000Z"
}
}
]
}Επιστρέφει το τοπικό mapping χρήστη στο Eisigites για ένα κεντρικό user id.
| externalUserId required | string non-empty Παράδειγμα: 42 Σταθερό user id από το κεντρικό σύστημα Διαχείρισης Χρηστών. |
| provider | string non-empty Παράδειγμα: provider=central-auth Εξωτερικός identity provider. Αν δεν σταλεί, χρησιμοποιείται το |
| localUserId required | string Τοπικό MongoDB ObjectId που αποδίδεται από το Eisigites. | ||||||||
| externalUserId required | string | ||||||||
| provider required | string | ||||||||
| username required | string | ||||||||
| firstName required | string | ||||||||
| lastName required | string | ||||||||
| enabled required | boolean | ||||||||
| role required | string (UserRole) Επιτρεπτές τιμές: "admin" "manager" "auditor" "accountant" "archiver" "users_editor" "supervisor" | ||||||||
| stakeholder required | string (Stakeholder) Επιτρεπτές τιμές: "lawyer" "ministry" "cadastre" "task_force" | ||||||||
| officeIds required | Πίνακας απόstrings | ||||||||
| roles required | Πίνακας απόstrings | ||||||||
string or null <email> | |||||||||
object (Organization) non-empty | |||||||||
| |||||||||
| lastSyncedAt | string or null <date-time> | ||||||||
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
{- "localUserId": "6687f1000000000000000000",
- "externalUserId": "42",
- "provider": "central-auth",
- "username": "ipapadopoulos",
- "email": "ipapadopoulos@example.com",
- "firstName": "Ioannis",
- "lastName": "Papadopoulos",
- "enabled": true,
- "role": "admin",
- "stakeholder": "lawyer",
- "officeIds": [ ],
- "roles": [
- "Admin"
], - "organization": {
- "id": "42",
- "title": "string",
- "code": "string"
}, - "lastSyncedAt": "2026-07-04T09:00:00.000Z"
}Δημιουργεί ή ενημερώνει πλήρως έναν provisioned χρήστη. Το κεντρικό user id λαμβάνεται από το path parameter.
| externalUserId required | string non-empty Παράδειγμα: 42 Σταθερό user id από το κεντρικό σύστημα Διαχείρισης Χρηστών. |
| provider | string non-empty Παράδειγμα: provider=central-auth Εξωτερικός identity provider. Αν δεν σταλεί, χρησιμοποιείται το |
| username required | string non-empty Τοπικό username, αποθηκεύεται σε lower-case. | ||||||||
| firstName required | string non-empty | ||||||||
| lastName required | string non-empty | ||||||||
| role required | string (UserRole) Επιτρεπτές τιμές: "admin" "manager" "auditor" "accountant" "archiver" "users_editor" "supervisor" | ||||||||
| provider | string non-empty Προεπιλογή: "central-auth" | ||||||||
string or null <email> | |||||||||
| enabled | boolean Προεπιλογή: true | ||||||||
| stakeholder | string (Stakeholder) Επιτρεπτές τιμές: "lawyer" "ministry" "cadastre" "task_force" | ||||||||
| roles | Πίνακας απόstrings[ items non-empty ] Raw κεντρικοί ρόλοι ή groups, κρατούνται για traceability. | ||||||||
object (Organization) non-empty | |||||||||
| |||||||||
| officeIds | Πίνακας απόstrings[ items^[a-fA-F0-9]{24}$ ] Τοπικά Eisigites Office ObjectId values από | ||||||||
| tags | Πίνακας απόstrings[ items non-empty ] | ||||||||
| specialPermissions | Πίνακας απόstrings[ items non-empty ] | ||||||||
| vatNumber | string or null | ||||||||
| iban | string or null | ||||||||
| phone | string or null Γίνεται αποδεκτό για compatibility. Δεν αποθηκεύεται αυτή τη στιγμή στο τοπικό User model. | ||||||||
| status required | string (UserWriteStatus) Επιτρεπτές τιμές: "CREATED" "UPDATED" "LINKED_UPDATED" "DISABLED" "ERROR" | ||||||||||||||||||||||||||||||||||||||
required | object (ProvisionedUser) | ||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||
| status required | string (UserWriteStatus) Επιτρεπτές τιμές: "CREATED" "UPDATED" "LINKED_UPDATED" "DISABLED" "ERROR" | ||||||||||||||||||||||||||||||||||||||
required | object (ProvisionedUser) | ||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
{- "username": "ipapadopoulos",
- "email": "ipapadopoulos@example.com",
- "firstName": "Ioannis",
- "lastName": "Papadopoulos",
- "enabled": true,
- "role": "auditor",
- "stakeholder": "cadastre",
- "roles": [
- "Auditor"
], - "organization": {
- "id": "10",
- "title": "Organization Name"
}
}{- "status": "CREATED",
- "user": {
- "localUserId": "6687f1000000000000000000",
- "externalUserId": "42",
- "provider": "central-auth",
- "username": "ipapadopoulos",
- "email": "ipapadopoulos@example.com",
- "firstName": "Ioannis",
- "lastName": "Papadopoulos",
- "enabled": true,
- "role": "admin",
- "stakeholder": "lawyer",
- "officeIds": [ ],
- "roles": [
- "Admin"
], - "organization": {
- "id": "42",
- "title": "string",
- "code": "string"
}, - "lastSyncedAt": "2026-07-04T09:00:00.000Z"
}
}Ενημερώνει μερικώς έναν υπάρχοντα provisioned χρήστη. Πρέπει να αποσταλεί τουλάχιστον ένα μεταβλητό πεδίο.
| externalUserId required | string non-empty Παράδειγμα: 42 Σταθερό user id από το κεντρικό σύστημα Διαχείρισης Χρηστών. |
| provider | string non-empty Παράδειγμα: provider=central-auth Εξωτερικός identity provider. Αν δεν σταλεί, χρησιμοποιείται το |
| provider | string non-empty | ||||||||
| username | string non-empty | ||||||||
string or null <email> | |||||||||
| firstName | string non-empty | ||||||||
| lastName | string non-empty | ||||||||
| enabled | boolean | ||||||||
| role | string (UserRole) Επιτρεπτές τιμές: "admin" "manager" "auditor" "accountant" "archiver" "users_editor" "supervisor" | ||||||||
| stakeholder | string (Stakeholder) Επιτρεπτές τιμές: "lawyer" "ministry" "cadastre" "task_force" | ||||||||
| roles | Πίνακας απόstrings[ items non-empty ] | ||||||||
object (Organization) non-empty | |||||||||
| |||||||||
| officeIds | Πίνακας απόstrings[ items^[a-fA-F0-9]{24}$ ] Τοπικά Eisigites Office ObjectId values από | ||||||||
| tags | Πίνακας απόstrings[ items non-empty ] | ||||||||
| specialPermissions | Πίνακας απόstrings[ items non-empty ] | ||||||||
| vatNumber | string or null | ||||||||
| iban | string or null | ||||||||
| phone | string or null | ||||||||
| status required | string (UserWriteStatus) Επιτρεπτές τιμές: "CREATED" "UPDATED" "LINKED_UPDATED" "DISABLED" "ERROR" | ||||||||||||||||||||||||||||||||||||||
required | object (ProvisionedUser) | ||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
{- "enabled": false,
- "role": "auditor",
- "roles": [
- "Auditor"
]
}{- "status": "CREATED",
- "user": {
- "localUserId": "6687f1000000000000000000",
- "externalUserId": "42",
- "provider": "central-auth",
- "username": "ipapadopoulos",
- "email": "ipapadopoulos@example.com",
- "firstName": "Ioannis",
- "lastName": "Papadopoulos",
- "enabled": true,
- "role": "admin",
- "stakeholder": "lawyer",
- "officeIds": [ ],
- "roles": [
- "Admin"
], - "organization": {
- "id": "42",
- "title": "string",
- "code": "string"
}, - "lastSyncedAt": "2026-07-04T09:00:00.000Z"
}
}Απενεργοποιεί τοπικά τον χρήστη θέτοντας enabled=false.
Ο τοπικός χρήστης δεν διαγράφεται φυσικά, επειδή μπορεί να χρησιμοποιείται από υποθέσεις, audit logs, πληρωμές, σημειώσεις ή ειδοποιήσεις.
| externalUserId required | string non-empty Παράδειγμα: 42 Σταθερό user id από το κεντρικό σύστημα Διαχείρισης Χρηστών. |
| provider | string non-empty Παράδειγμα: provider=central-auth Εξωτερικός identity provider. Αν δεν σταλεί, χρησιμοποιείται το |
| status required | string (UserWriteStatus) Επιτρεπτές τιμές: "CREATED" "UPDATED" "LINKED_UPDATED" "DISABLED" "ERROR" | ||||||||||||||||||||||||||||||||||||||
required | object (ProvisionedUser) | ||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
| message required | string |
Πίνακας απόany or object or string or null | |
One of Array any | |
| property name* additional property | any |
{- "status": "CREATED",
- "user": {
- "localUserId": "6687f1000000000000000000",
- "externalUserId": "42",
- "provider": "central-auth",
- "username": "ipapadopoulos",
- "email": "ipapadopoulos@example.com",
- "firstName": "Ioannis",
- "lastName": "Papadopoulos",
- "enabled": true,
- "role": "admin",
- "stakeholder": "lawyer",
- "officeIds": [ ],
- "roles": [
- "Admin"
], - "organization": {
- "id": "42",
- "title": "string",
- "code": "string"
}, - "lastSyncedAt": "2026-07-04T09:00:00.000Z"
}
}