Nu solliciteren

voor API Application Developer

← Alle vacatures

API Application Developer (Employed or freelance)

Omschrijving

📋 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)

Solliciteer nu