API Application Developer (Employed or freelance)
Коротко
Implements a replacement API for an existing third-party interface, covering metadata and submission layers, built on an ODS database, using Python 3.12+ and
Описание от работодателя
📋 Tasks and responsibilities A new API solution is needed to replace a subset of an existing third-party API, allowing current users to transition with minimal disruption. The current interface is relatively limited in scope, and partial documentation is available.
The API covers two main functional domains:
Metadata layer: exposes metadata to consumers, such as data collection structures.
Submission layer: accepts submissions for a specific data collection and validates the incoming data.
The implementation is built around the existing ODS database, which serves both as the source for metadata and as the target for submitted data through the current Python loading flow.
Security must be addressed from the outset. The target security model, including authentication, authorization, transport security and data protection, may differ from the existing API and needs to be defined as part of the assignment.
The objective is to implement the critical API components, with the exact scope aligned at the start, and to demonstrate that a compatible replacement can be delivered. The result must include production-quality code, automated tests and concise technical documentation for the implemented scope, together with a short summary of what is covered, what remains open and what is still required to reach production readiness.
Analyse the current API and available documentation, and agree on the subset to be implemented
Study the ODS database schema and map its metadata to the exposed API model, identifying any gaps
Define and implement a suitable API security approach, including authentication, authorization and secure handling of submitted data
Implement metadata endpoints on top of the ODS database
Implement submission endpoints with input validation and meaningful error handling
Pass submitted data to the existing ODS loading code, or store it in the format that code expects
Develop the solution in Python 3.12+ , using FastAPI for API development
Use SQLAlchemy and PostgreSQL to read and map the existing schema
Apply sound REST API design principles and take API compatibility into account where relevant, including experience with SOAP and REST-based environments
Implement API security mechanisms such as OAuth2/OIDC , JWT , API keys, TLS and secure input validation; familiarity with WS-Security is relevant
Write automated tests with pytest
Prepare concise technical documentation
Deploy and demonstrate the solution on Ubuntu Linux
Report limitations, open questions and recommended next steps
📝 Your profile
Proven experience as an application developer with a strong focus on API development
Strong command of Python , FastAPI , SQLAlchemy , PostgreSQL and pytest
Hands-on expertise in API and API design
Experience building and integrating APIs in SOAP and REST contexts
Solid understanding of API security, including OAuth , WS-Security , authentication and authorization concepts
Ability to work autonomously with incomplete or evolving documentation
Pragmatic approach, with focus on critical scope first while maintaining quality
Clear communication on findings, trade-offs and limitations
Nice to have
Experience with Polars in combination with SQLAlchemy
Experience with uv for package management
Background in API migration or compatibility projects
Experience handling sensitive data, such as health-related data, and knowledge of GDPR constraints
Linux deployment experience
Good working knowledge of Dutch, English and French
💼 Offer You will be part of a growing Belgian SME where initiative and personal development are encouraged. We will provide you with an enjoyable work environment with fun colleagues. We will work out a career plan with you, with attention and a budget for extra education/certification. You can count on an attractive salary, supplemented with extra-legal benefits, including a company car.
(Freelance is also possible) Originally posted on Himalayas