[midPoint] HOW-TO for MidPilot
Alexander Brecko
alexander.brecko at evolveum.com
Thu Mar 12 17:02:44 CET 2026
Hi Yakov,
we are planning to have the beta version of midPilot available in the middle of May, in time for the midPoint Community Meetup on May 12–15, 2026.
Based on the output you shared, this does not look like an error state. The important part is:
finishReason: "no-more-links"
This means the process finished earlier than the maximum allowed number of iterations because no additional relevant URLs were found. So completing only 2 out of 4 iterations is not necessarily a problem. It simply means midPilot determined that there were no more useful links to continue with.
The midpilot-connector-gen project is currently driven mainly through the Connector Generator wizard in the development version of midPoint, although it can also be used directly via REST.
To configure support in midPoint, you need to set the coordinates of your deployment in the midPoint system configuration:
<smartIntegration>
<!-- URL of your midpilot-connector-gen instance -->
<connectorGenerationUrl>https://localhost:8090/api/v1</connectorGenerationUrl>
<!-- link to latest snapshot of connector-scimrest-generic which is used as base for new connector -->
<connectorFrameworkUrl>https://nexus.evolveum.com/nexus/repository/snapshots/com/evolveum/polygon/scimrest/connector-scimrest-generic/0.1-SNAPSHOT/connector-scimrest-generic-0.1-20260305.102119-29.jar</connectorFrameworkUrl> </smartIntegration>
</smartIntegration>
After that, you should be able to see the Connector Generator wizard in midPoint. The wizard is intended to guide you through the next steps and call the endpoints in the correct order. Please note that this is still under active development, so some instability is expected.
If you want to drive the process manually via REST, the usual sequence is roughly as follows:
1. /api/v1/discovery/{session_id}/discovery
Discover the initial set of documentation links.
2. /api/v1/scrape/{session_id}/scrape
Scrape documentation from the discovered URLs.
3. /api/v1/digester/{session_id}/classes
Extract object classes from the scraped documentation.
4. /api/v1/digester/{session_id}/classes/{object_class}/attributes
Extract attributes for each object class.
5. /api/v1/digester/{session_id}/classes/{object_class}/endpoints
Extract endpoints for each object class.
6. /api/v1/digester/{session_id}/relations
Extract relations between object classes.
7. /api/v1/digester/{session_id}/auth
Extract authentication information.
8. /api/v1/digester/{session_id}/metadata
Extract metadata information.
9. /api/v1/codegen/{session_id}/classes/{object_class}/native-schema
Generate native schema for the object class.
10. /api/v1/codegen/{session_id}/classes/{object_class}/connid
Generate ConnId definition for the object class.
11. /api/v1/codegen/{session_id}/classes/{object_class}/search/{intent}
Generate search code for the object class.
There are also GET endpoints for checking the status of individual steps, and PUT endpoints if you want to override extracted or generated data manually.
So in your case, the next step is not to wait for the remaining discovery iterations, but rather to continue with the subsequent pipeline steps using the data that was already discovered and scraped.
Please note that this is still a fragile product, a project under development. We are actively working on it and trying to improve it.
Below is a link to a video showing the current flow on an example of generating a specific connector. Please note that it is more of a practical demo of the generated connector than a detailed presentation of the integration between midPoint and the midpilot-connector-gen API service:
https://nextcloud.evolveum.com/s/Cd2emptNmcZRM6J
If you have any further questions, please feel free to ask.
Best regards,
Alexander Brecko | AI Developer
[ https://evolveum.com/ ]
abrecko at evolveum.com | www.evolveum.com
From: "Yakov Revyakin via midPoint" <midpoint at lists.evolveum.com>
To: "midPoint General Discussion" <midpoint at lists.evolveum.com>
Cc: "Yakov Revyakin" <yrevyakin at gmail.com>
Sent: Wednesday, March 11, 2026 4:31:38 PM
Subject: Re: [midPoint] HOW-TO for MidPilot
On Wed, 11 Mar 2026 at 17:30, Yakov Revyakin < [ mailto:yrevyakin at gmail.com | yrevyakin at gmail.com ] > wrote:
Hello Everyone,
Does anyone have successful experience using MidPilot? It would be great to see a reference use case that demonstrates some visible results.
I was able to configure and run the MidPilot project using the Google Gemini API. As a source API, I used Keycloak. MidPilot successfully discovered and retrieved relevant API URLs and processed them into chunks.
However, I noticed that only 2 out of the 4 iterations were completed. Appropriate job was completed successfully. Could someone help to clarify what the next step should be or what might be preventing the remaining iterations from running?
Thanks,
Yakov
I am tr to analyze Keycloak as a source of API for a potential connector.
_______________________________________________
midPoint mailing list
midPoint at lists.evolveum.com
https://lists.evolveum.com/mailman/listinfo/midpoint
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20260312/8d2d7a78/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 27446 bytes
Desc: not available
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20260312/8d2d7a78/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: evolveum.png
Type: image/png
Size: 19174 bytes
Desc: not available
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20260312/8d2d7a78/attachment-0003.png>
More information about the midPoint
mailing list