Workelo's API π’
-
API: Our ready-to-use recipes π©βπ³
Here is a complete guide, structured by main user story, with all the required API calls in order (including prerequisite calls to retrieve IDs).
π To get started with the API, please refer to the dedicated documentation first.
1. Manage your employee directory π₯Β
Retrieve the required IDs
β Retrieve the
user_role_idcorresponding to the desired role (colleague,manager,hr...) :GET /user_roles
β Retrieve the
idof the organization to assign the employee to:GET /unit_organizations
β Retrieve the
identification_resource_idof available custom fields (badge, employee ID, etc.):GET /identification_resources
Create the employee
POST /employees { "first_name": "Marie", "last_name": "Dubois", "email": "marie.dubois@company.com", "job_position": "Manager", "external_id": "EMP-001", "unit_organization_id": 5, "user_role_id": 234 }Add custom identification fields
POST /employees/{employee_id}/identifications { "identification_resource_id": 5, "value": "BADGE-001" }View / Update the employee
GET /employees/{id} PUT /employees/{id} GET /employees?role=manager β list by role GET /employees?external_id=EMP-001 β find by external ID2. Manage your organisational structure π’
Understand the existing hierarchy
β List the levels (e.g. Division, Department, Site):
GET /level_organizations
β List the units of a given level:
GET /unit_organizations?level_organization_id={level_id}Create a new organization
POST /unit_organizations { "external_id": "IT-001", "name": "IT Department", "level_organization_id": 2, "parent_id": 15, "language": "en" }Manage an employee's scopes (access scope)
GET /employees/{employee_id}/unit_organization_managements POST /employees/{employee_id}/unit_organization_managements { "unit_organization_id": 42 } DELETE /unit_organization_managements/{management_id}3. Create a journey π€οΈ
Prerequisites β retrieve the required IDs
β
unit_organization_idof the employee's organization:GET /unit_organizations
β
idof the manager, HR, buddy, etc.:GET /employees?role=manager GET /employees?role=hr
β
idof the templates to apply:GET /templates?mobility=onboarding&unit_organization_id={id}Create the journey (
draftstatus)POST /tracks { "mobility": "onboarding", "start_date": "2026-06-01", "end_date": "2026-09-01", "employee": { "first_name": "John", "last_name": "Martin", "email": "john.martin@company.com", "job_position": "Developer", "unit_organization_id": 5 }, "implications": { "hr_id": 101, "manager_id": 202, "buddy_id": 303 }, "template_ids": [999056] }Launch the journey and send invitations
PUT /tracks/{id}/start { "invite_at": "2026-05-28" β optional: employee invitation date }4. Monitor and track journeys π§
List and filter journeys
GET /tracks GET /tracks?status=in_progress GET /tracks?status=draft
Available statuses:
draft,invitation_sent,scheduled,in_progress,closed,cancelledView journey details (with live metrics)
β Returns journey health, progression, action availability rate, number of completed actions:
GET /tracks/{id}Update a journey (dates, stakeholders)
PUT /tracks/{id} { "start_date": "2026-06-15", "apply_on_actions": true, β automatically shifts actions "implications": { "manager_id": 205 } }5. Manage administrative tasks πΒ
List the forms of a journey
GET /tracks/{track_id}/forms GET /tracks/{track_id}/forms?status=opened β awaiting completion GET /tracks/{track_id}/forms?status=missing_validation β awaiting HR validationView details and entered data
β Returns all
paperworkswith their filled-in values:GET /forms/{id}Update a field value
PUT /paperworks/{id} { "value": "New value" }Manage files uploaded in a form
GET /paperwork_files/{id} β retrieve a file POST /paperwork_files β upload a file { "paperwork_id": 456, "file": "..." }List available form resources
GET /paperwork_resources GET /paperwork_resources?type=selection β dropdown lists GET /paperwork_resources?type=date
List the documents of a journey
GET /tracks/{track_id}/documentsStatuses:
supplying(being prepared),receipting(available),finalized(completed)Download a file (base64)
GET /attachments/{id}List available document resources
GET /document_resources GET /document_resources?type=sign GET /document_resources?type=download
6. Manage dropdown option lists π½
List the options of a resource
GET /collection_values?resource_type=PaperworkResource&resource_id={paperwork_resource_id}Uselimit/offsetpagination for large lists.
Create a simple optionPOST /collection_values?resource_type=PaperworkResource&resource_id={paperwork_resource_id} { "value": "Permanent contract", "external_id": "contract_permanent", "position": 1 }ΒCreate an option with a parent (dependent list)
POST /collection_values?resource_type=PaperworkResource&resource_id={paperwork_resource_id} { "value": "Paris 1st", "external_id": "75056", "position": 1, "parent_id": 1001 }Theparent_idis theidof the parentcollection_value(e.g. the postal code75001).Β
Update an option (label, position, or parent)
PUT /collection_values/{id} { "value": "Paris 1st Arrondissement", // update the label "position": 2, // change the order "parent_id": 1050 // move to a different branch }Existing valuesΒ in journeys retain their previous valueΒ (no cascade update).
Β
7. Generate a secure access link (Magic Link) π
GET /user_magic_links/{employee_id} GET /user_magic_links_by_email/{email} GET /user_magic_links_by_external_id/{external_id}β±οΈ Links expire after 2 hours and only work if the employee has an active journey.
8. Analyse and audit activity πΒ
GET /logs GET /logs?event=user_creation&from=2026-01-01&to=2026-05-26 GET /logs/{uuid}9. View assigned actions (stakeholders) βοΈΒ
β Retrieve the stakeholder's
id:GET /employees?role=manager
List a stakeholder's actions
GET /owners/{owner_id}/actions GET /owners/{owner_id}/actions?limit=20&offset=0π Visual summary
User Story Main calls Create an employee GET /user_rolesβGET /unit_organizationsβPOST /employeesEnrich a profile GET /identification_resourcesβPOST /employees/{id}/identificationsManage organizations GET /level_organizationsβPOST /unit_organizationsCreate a journey GET /unit_organizations+GET /employees+GET /templatesβPOST /tracksSend the invitation PUT /tracks/{id}/startTrack journeys GET /tracksβGET /tracks/{id}Update a journey PUT /tracks/{id}Administrative forms GET /tracks/{id}/formsβGET /forms/{id}βPUT /paperworks/{id}Documents GET /tracks/{id}/documentsβGET /attachments/{id}Magic Link GET /user_magic_links/{id}Stakeholder actions GET /employeesβGET /owners/{id}/actionsLogs & audit GET /logsΒ
π Related articles
-
API: Which HR processes should be automated? β‘οΈ
π Automate your HR processes with the Workelo API
You spend hours every month copy-pasting information between your tools. Creating onboarding journeys one by one. Re-entering administrative forms into your payroll software. Downloading and filing signed documents.
The reality is simple: your HR teams lose 30 to 40% of their time on low-value tasks. Repetitive, time-consuming, error-prone tasks. What if you could automate all of that?
The Workelo API is free and connects your HR ecosystem: HRIS, ATS, payroll, DMS. Once set up, it works for you 24/7. Zero manual intervention. Zero data entry errors. Hours freed up for what truly matters: supporting your employees.
Here are 6 HR processes our clients automate with measurable results.
1οΈβ£ Create journeys from your ATS or HRIS
π΄ The problem: when a candidate is validated in your ATS or a new employee appears in your HRIS, the HR team in charge of onboarding must manually create the journey in Workelo and fill in information that is already known.
This double data entry is frustrating: "We already have this information in our HRIS, why enter it again?"
β The solution with the API: your ATS or HRIS automatically sends the information to Workelo. Within seconds, the employee is created, their journey is launched with the right templates, and the invitation is sent. You don't have to do a thing.
Automated flow:
π ATS/HRIS (new employee validated) β π Workelo API (automatic creation) β βοΈ Journey created in Workelo + invitation sent to the employeeπ‘ Real-world example:
A company hires 25 people per month. Instead of manually creating these 25 onboarding journeys, as soon as a recruitment is moved to "Validated" in the ATS, the journey is automatically created within seconds.π ROI and time savings:
10 minutes saved per journey β over 3 hours recovered for 20 hires per month, or nearly 2 days for 100 hires per month.Metrics observed with our clients:
- Journey creation time: -95% (8 min β 10 sec)
- Invitation sending delay: Day 0 vs. Day +2 on average (responsiveness)
- Data entry error rate: -100% (name, email, job title...)
- Strong ROI, quickly recouped
π οΈ Technical difficulty: βοΈ Easy
Most ATS or HRIS platforms have an API or webhooks available; integration takes 1β2 days.Β
2οΈβ£ Pre-fill employee data from your ATS or HRIS
π΄ The problem: you have already collected information in your ATS (phone number, address, date of birth...). But when you create the Workelo journey, these fields are empty. You either have to manually re-enter this data or leave it blank and ask the employee to fill everything in again β including what they already provided during recruitment.
The employee has a frustrating experience: "I have to give my address again? I've already done that 3 times..."
β The solution with the API: the API automatically retrieves the data already present in your ATS/HRIS and pre-fills the Workelo fields. The employee arrives at a form already 60β70% completed. They review it, correct if needed, and submit. No more repetitive data entry.
Automated flow:
π ATS/HRIS (data collected during recruitment) β π Workelo API (automatic pre-filling) β β Employee validates (instead of re-entering)π‘ Real-world example
A staffing agency hires 15 employees per month. The ATS already contains: phone number, address, date of birth, qualifications. Previously, the employee received a blank form with 25 fields to fill in. Abandonment rate: 12%. Average time: 18 minutes.
With the API, the form arrives pre-filled with ATS data. The employee only fills in the 8 missing fields (Social Security number, IBAN, health insurance...). Average time: 6 minutes.π ROI and time savings
Employee time saved: X min Γ number of pre-filled data points
Metrics observed with our clients:
- Form completion rate: +15% (fewer drop-offs)
- Employee satisfaction (onboarding NPS): +12 points
- Data quality: +25% (fewer empty or incorrect fields)
- HR follow-up time: -80% (fewer incomplete forms)
π οΈ Technical difficulty: βοΈ Easy
Requires mapping fields between your ATS/HRIS and Workelo (e.g. "date_naissance" β "birth_date"). A developer can do this in 2β3 days. Once configured, it runs on its own.3οΈβ£ Send collected data to payroll
π΄ The problem: the employee has filled in their administrative form in Workelo (Social Security number, IBAN, address, family situation, health insurance choice...). Now you need to:
- Open each form in Workelo
- Copy-paste each field into your payroll software
- Download the attachments (bank details, Social Security certificate...)
- Rename and file them
This is the most time-consuming task in administrative onboarding. Every data entry error (wrong IBAN, transposed Social Security number) results in rework and payment delays.
β The solution with the API: as soon as a form is completed in Workelo, the API automatically sends the data to your payroll software (Silae, Payfit, Cegid...). Fields are mapped automatically. Attachments are downloaded and filed. Zero re-entry. Zero errors.
Automated flow:
β Employee completes their Workelo form β π API retrieves data + files β π° Automatic sending to payroll software β π§ HR notification: "Form synchronised"π‘ Real-world example
A fast food group hires 80 people per month (high turnover). 2 administrators were spending 6 hours per week re-entering forms into payroll, with an 8% error rate (payment delays, dissatisfaction). With the API, completed forms are automatically sent to the HRIS every night. Administrators simply check the imports (30 min/week). Error rate: <0.5%.π ROI and time savings
Time saved: 6h/week β 30 min/week = 5h30 recovered per week
Metrics observed with our clients:
- Payroll entry time: -92%
- Data entry errors: -95% (near zero)
- Payment delays due to admin errors: -90%
- ROI: 22 hours/month recovered (for 80 hires/month)
In HR cost terms: ~1 FTE recovered for high-volume companies (100+ hires/month).
π οΈ Technical difficulty: βοΈ βοΈ Intermediate
Depends on your payroll software. If an API is available, integration takes up to 3 days. Otherwise, a formatted CSV file can be generated (2 days). Once in place, almost zero maintenance.4οΈβ£ Archive the complete administrative file to your DMS
π΄ The problem: signed documents (employment contract, internal rules, IT charter...) and attachments (bank details, ID document, qualifications...) are stored in Workelo. But for compliance purposes, you need to archive them in your DMS or digital safe. Today, you:
- Download each document one by one
- Rename them according to your naming convention ("LASTNAME_Firstname_DocType_Date.pdf")
- File them in the correct folder structure (HR/Employees/LASTNAME_Firstname/Contracts/)
- Enter the metadata (signing date, document type...)
With 20 documents per employee and 30 hires/month, that's 600 documents to process manually every month.
β The solution with the API: as soon as a document is signed or a file uploaded in Workelo, the API retrieves it and automatically sends it to your DMS. The file is automatically renamed, filed, and tagged with metadata. Your entire employee file builds itself.
Automated flow:
βοΈ Document signed in Workelo (or file uploaded) β π API retrieves the PDF + metadata β π Automatic filing in DMS: HR/Employees/MARTIN_John/Contracts/PermanentContract_2026-05-13_signed.pdf β π§ Notification: "Document archived"π‘ Real-world example
An industrial group of 2,000 employees hires 40 people per month. Each file contains an average of 18 documents. An HR assistant was spending 4 hours per week downloading, renaming, and filing documents in the DMS. Risk of missing or misfiled documents: ~10%.
Now, documents are automatically archived in the DMS every night. The assistant simply checks file completeness (20 min/week). Filing error rate: 0%.π ROI and time savings
Time saved: 4h/week β 20 min/week = 3h40 recovered per week
Metrics observed with our clients:
- Archiving time: -92%
- Misfiled or lost documents: -100%
- GDPR compliance: 100% (full traceability)
- Document retrieval time: -80% (standardized naming convention)
- ROI: 15 hours/month recovered (for 40 hires/month)
π οΈ Technical difficulty: βοΈ βοΈ Intermediate
If your DMS has an API, integration takes 3β5 days. Otherwise, export to a structured network folder (2 days). Initial naming convention configuration required.5οΈβ£ Synchronise your employee directory
π΄ The problem: your HRIS is the reference for the list of active employees. But Workelo has its own database too. As a result, you have to maintain consistency manually:
- A new employee? β Create them in Workelo
- A departure? β Deactivate them in Workelo
- A change of position/department? β Update it in Workelo
Out-of-sync data creates issues: journeys sent to people who have already left, an outdated org chart, skewed reports.
β The solution with the API: the API automatically synchronizes your employee directory between the HRIS and Workelo. Every night (or in real time), new hires, departures, and updates are propagated. Your two databases always stay in sync. Zero maintenance.
Automated flow:
π HRIS (source of truth) β π API synchronises (every night or in real time) β β Workelo (automatically up to date) β’ New employees created β’ Departures deactivated β’ Position/department changes updatedπ‘ Real-world example
A services company hires 30 people/month and manages 15 departures/month (natural turnover). An HR manager was spending 2 hours per week checking and correcting out-of-sync data (duplicate employees, former employees still active...). Journeys were sometimes sent to invalid email addresses.
Now, automatic synchronization runs every night at 2 a.m. The Workelo database always reflects the HRIS exactly. Maintenance time: 0 min/week.π ROI and time savings
Time saved: 2h/week β 0 min = 2 hours/week recovered
Metrics observed with our clients:
- Directory maintenance time: -100%
- Out-of-sync rate: 0%
- Sending errors (invalid emails, former employees): -95%
- Report reliability: 100% (always accurate data)
- ROI: 8 hours/month recovered
π οΈ Technical difficulty: βοΈ Easy to βοΈ βοΈ Intermediate
If your HRIS has an API, integration takes 1β2 days via a synchronization script running as a creon job. Initial field mapping configuration required.6οΈβ£ Synchronise your org chart
π΄ The problem: your organizational structure evolves: a new department is created, departments merge, reporting lines change... These updates must be reflected in Workelo so that:
- Journeys are sent to the right managers/departments
- Reports are accurate (onboarding by department)
- Employees see the correct structure
Manually maintaining 2 structures across 2 tools is a permanent source of errors.
β The solution with the API: the API automatically synchronizes your org chart from the HRIS to Workelo. Department creation, reporting line changes, deletions... everything is propagated automatically. Your Workelo org chart always mirrors your HRIS exactly. Zero lag.
Automated flow:
π HRIS (org chart updated) β π API synchronises (weekly or in real time) β β Workelo (structure up to date) β’ New departments created β’ Reporting lines updated β’ Closed departments archivedπ‘ Real-world example
A tech scale-up of 500 employees creates 2β3 new departments per quarter and reorganizes regularly (agile squads). The HRBP had to manually recreate each department in Workelo, check reporting lines, and fix errors. Time spent: 1 hour per reorganization. Average update delay: 1 week (lag vs. the HRIS).
Now, automatic synchronization runs every Sunday night. On Monday, the Workelo org chart exactly reflects the new structure. Maintenance time: 0 min.π ROI and time savings
Time saved: 1h/reorganization Γ 8 reorgs/year = 8 hours/year recovered
Metrics observed with our clients:
- Org chart maintenance time: -100%
- Update delay: Day +7 β Day 0 (real time)
- Reporting line errors: -100%
- HRIS/Workelo consistency: 100%
Indirect benefit: Reliable reports by department (impossible if the org chart is outdated).
π οΈ Technical difficulty: βοΈ βοΈ Intermediate
Requires understanding your HRIS's hierarchical structure (parent/child, organizational levels). Integration takes 3β5 days. Once configured, automatic synchronization with no intervention required.π And concretely, how does it work?
It's simple β 3 steps:
1οΈβ£ Define your need (10 minutes) Which process do you want to automate? What are your current systems (HRIS, payroll, DMS)?
2οΈβ£ Configure the integration (2 to 5 days) Your IT team (or a service provider, or us) connects the systems via the API. No need to be an expert: the documentation is clear and code examples are provided.
3οΈβ£ It runs on its own (0 minutes of maintenance) Once in place, processes run automatically. You simply receive confirmation notifications.
β Frequently asked questions
Is the API included in my subscription?
The API is free and accessible directly via Account > Integrations > API. Contact your Customer Success Manager if needed.
Do you need to be a developer to use the API?
Not necessarily. Two options:
- Your IT team sets up the integration in a few days
- A service provider/systems integrator can do it (we have listed partners)
How long does it take to set up an automation?
Between 2 and 5 days depending on the complexity and availability of your tools' APIs. Once configured, it's permanent.
π Related articles
-
[ReadMe] Getting started with the Workelo API π»
Technical documentation
https://api.workelo.eu/docs/apis
Getting started
π‘ The Workelo API lets you integrate the platformβs features directly into your systems and applications. This documentation gradually guides you through using the API to automate your HR processes and manage your employee journeys.
Β
π Overview
The Workelo API (version 1.6) is a REST API that enables you to automate and integrate your HR processes.
What can you do?
- β Manage journeys for collaborators (onboarding, crossboarding, offboarding)
- β Manage employees and their fields
- β Collect administrative data
- β Manage organizations and levels
- β Automate HR actions
API architecture
- Type: REST API
- Format: JSON
- Authentication: OAuth 2.0
-
Base URL:
https://api.workelo.eu/v1/ - Rate limit: 1000 requests per hour per token
π Key concepts
Before you start, here are the essential notions defined in Workelo
Β
π₯ Employees and collaborators
Employee: A person who is part of the database in Workelo.
Collaborator: An employee experiencing a key moment (journey) with Workelo.
Flexible identification in the API:
- ID (default identifier)
- external_id: your system identifier
- Email: email address
π€οΈ Journeys (Tracks)
Journey: The key moment experienced by the collaborator within the company.
Types of key moments:
- Onboarding: Process of integrating a new collaborator into the company
- Crossboarding: Process of supporting internal mobility or a role change
- Offboarding: Process of supporting a collaborator leaving the company
Statuses:
- Draft
draft - Invitation sent
invitation_sent - Scheduled
scheduled - In progress
in_progress - Closed
closed - Cancelled
cancelled
Involved roles: An employee involved in a collaboratorβs key moment
- HR
rh - Administrative owner
second_rh - Manager
manager - Buddy
buddy - Contributor
second_manager
π Resources
Resource: A specific element configured to enrich the experience offered on Workelo
Available resource types:
- Form: Resource aimed at collecting form fields from the employee
- Document: File or resource to view, download, or sign within a journey
- Survey : Resource aimed at collecting feedback from the collaborator
- Quiz: Resource aimed at testing the collaboratorβs knowledge
- Task: Concrete action to be completed by a role or by the collaborator within a journey
- Kit: Resource aimed at defining an accessory, tool, software, or access that must be prepared or retrieved for the collaborator
- Content: Resource aimed at pushing information to the collaborator via a file or a link
- Communication: Message or notification sent to users within a journey
π’ Organizational structure
Environment: The level of the organizational directory chosen to define the different scopes of the account.
In the API:
- Level Organizations: hierarchical levels (Division, Department)
- Unit Organizations: concrete units (HR, IT, Marketing)
π― Templates
Template: A set of resources scheduled relative to a key date, each with a designated owner
π οΈ Best practices
HTTP response codes
-
200: Success -
201: Resource created -
404: Resource not found -
422: Unprocessable data -
401: Unauthorized
Error handling
Example 422 error:
{ "errors": ["Invalid email format", "Unit organization not found"], "message": "unprocessable_entity", "code": 422 }Limits and performance
- Rate limit: 1000 requests per hour per token
-
Pagination: Use
limitandoffsetfor large lists - Timeout: Minimum 30 seconds recommended
- Retry: Exponential backoff for 5xx errors
Recommended steps
- π Test authentication with your credentials
- π₯ Create a test employee to get familiar
- π€οΈ Launch a simple journey using the default templates
- π Explore forms and their data structure
- π Implement synchronization with your existing system
- βοΈ Automate your processes according to your use cases
π― Tip: Start small! A basic onboarding journey using existing templates helps you master the concepts before implementing advanced logic.
Go further
π First steps
Step 1: Get your API credentials
You can create your credentials in your Workelo account under Account > Advanced > API.
client_idclient_secret
Step 2: First call β List employees
# 1. Get an access token curl -X POST https://api.workelo.eu/v1/tokens -F "client_id=your_client_id" \\ -F "client_secret=your_client_secret" # 2. Use the token to list employees curl -X GET https://api.workelo.eu/v1/employees -H "Authorization: Bearer YOUR_TOKEN"
Step 3: Understand a typical response
{ "data": [ { "id": 123, "first_name": "Marie", "last_name": "Dubois", "email": "marie.dubois@entreprise.com", "role": "colleague", "unit_organization": { "id": 5, "name": "Service RH" } } ], "pagination": { "total": 50, "limit": 10, "offset": 0 } }π‘ First success! If you get this response, your integration works. You can now explore the other endpoints.
π Authentication
The API uses OAuth 2.0 with shortβlived access tokens.
Get a token
POST /tokens Content-Type: multipart/form-data client_id=your_client_id client_secret=your_client_secret
Response:
{ "access_token": "eyJ0eXAiOiJKV1QiLCJhbGc...", "token_type": "Bearer", "expires_in": 3600 }Use the token
Add the token to the header of all your requests:
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGc...
β° Lifetime: Tokens are valid for 1 hour and can be reused. Plan for automatic renewal.
π₯ Employee management
List employees
GET /employees or GET /employees?limit=10&offset=0&role=colleague
Filtering parameters:
-
role:colleague,manager,hr,owner -
unit_organization_ids: organization IDs (commaβseparated)
Create an employee
POST /employees Content-Type: application/json { "first_name": "Marie", "last_name": "Dubois", "email": "marie.dubois@entreprise.com", "job_position": "Manager", "external_id": "EMP-001", "unit_organization_id": 5, "user_role_id": 234 }Add custom identifications
POST /employees/{employee_id}/identifications Content-Type: application/json { "identification_resource_id": 5, "value": "BADGE-001" }Search an employee by external_id
GET /employees?external_id=EMP-001
π€οΈ Collaborator journeys
Create a journey
POST /tracks Content-Type: application/json { "mobility": "onboarding", "start_date": "2019-08-24", "end_date": "2019-08-24", "employee": { "external_id": "string", "first_name": "string", "last_name": "string", "email": "string", "job_position": "string", "unit_organization_id": 0 }, "implications": { "hr_id": 0, "second_hr_id": 0, "manager_id": 0, "second_manager_id": 0, "buddy_id": 0 }, "template_ids": [ 0 ] }Send the journey invitation
PUT /tracks/{id}/start Content-Type: application/json { "invite_at": "2025-10-01" }Generate a secure access link
GET /user_magic_links/{employee_id}Response:
{ "magic_link": "https://app.workelo.eu/magic/97abc...", "expires_in": 7200 }Security: Magic links expire after 2 hours and are only accessible to collaborators with an active journey.
π Forms and fields
List a journeyβs forms
GET /tracks/{id}/formsStatuses:
-
opened: form opened, awaiting input -
closed: form closed and completed -
missing_validation: awaiting HR validation
View details and submitted data
GET /forms/{id}Response structure:
{ "id": 123, "name": "Informations personnelles", "status": "closed", "paperworks": [ { "id": 456, "paperwork_resource_name": "Adresse personnelle", "value": "123 Rue de la Paix, Paris", "paperwork_files": [] }, { "id": 789, "paperwork_resource_name": "Photo d'identitΓ©", "value": null, "paperwork_files": [ { "id": 101, "file": {"url": "https://..."} } ] } ] }Update a piece of form fields
PUT /paperworks/{id} Content-Type: application/json { "value": "New value" }Manage uploaded files
Retrieve a file:
GET /paperwork_files/{id}Upload a new file:
POST /paperwork_files/ Content-Type: multipart/form-data paperwork_id={paperwork_id} file={file_data}π Documents
List a journeyβs documents
GET /tracks/{id}/documentsDocument statuses:
-
supplying: being prepared by the organization -
receipting: available for collaborator action -
finalized: action completed by the collaborator
Download the file attached to a document
GET /attachments/{id}Response (base64βencoded file):
{ "id": 123, "name": "Employment contract", "filename": "contrat_martin_jean.pdf", "extension": "pdf", "content": "JVBERi0xLjQKMSAwIG9iao8CAovVHlwZSA..." }π’ Organizational structure
Understand the hierarchy
List organization levels:
GET /level_organizations
List units within a level:
GET /unit_organizations?level_organization_id={level_id}Create an organization
POST /unit_organizations Content-Type: application/json { "external_id": "IT-001", "name": "IT Department", "level_organization_id": 2, "parent_id": 15, "language": "fr" }Manage an employeeβs scopes
Grant access to a unit:
POST /employees/{id}/unit_organization_managements Content-Type: application/json { "unit_organization_id": 42 }Revoke access:
DELETE /unit_organization_managements/{management_id}βοΈ Advanced features
Templates and models
List available templates:
GET /templates or GET /templates?mobility=onboarding&unit_organization_id=42
Use templates at creation time:
Templates are specified via
template_idswhen creating a journey.β‘ Performance: Applying templates can take time. The journey is created immediately, resources are added in the background.
Β
Tracking and logs
GET /logs?event=track_creation&from=2025-09-01T00:00:00Z&to=2025-09-09T23:59:59Z
Main events:
-
user_creation: employee creation -
track_creation: journey creation -
track_start: journey start -
form_completion: form completed
Β
Β
Β