`. OBP creates a Consumer and a User for the client automatically; that
- |identity has no Roles, which is enough for this endpoint. The walkthrough is in the glossary under
- |"Signal Channels". (POST /obp/v6.0.0/dynamic-registration/consumers is the PSD2 certificate path, not this.)
+ |identity has no Roles, which is enough for this endpoint. The walkthrough is the glossary item
+ |"Signal Channels", which an agent can fetch on its own with
+ |`GET /obp/v7.0.0/api/glossary/Signal%20Channels`. (POST /obp/v6.0.0/dynamic-registration/consumers
+ |is the PSD2 certificate path, not this.)
|
|Authentication is Required.
|
diff --git a/obp-api/src/main/scala/code/api/v6_0_0/JSONFactory6.0.0.scala b/obp-api/src/main/scala/code/api/v6_0_0/JSONFactory6.0.0.scala
index 96125d3258..78fb549978 100644
--- a/obp-api/src/main/scala/code/api/v6_0_0/JSONFactory6.0.0.scala
+++ b/obp-api/src/main/scala/code/api/v6_0_0/JSONFactory6.0.0.scala
@@ -8,7 +8,7 @@
* General Public License for more details. * You should have received a copy
* of the GNU Affero General Public License along with this program. If not,
* see . * Email: contact@tesobe.com TESOBE GmbH
- * Osloerstrasse 16/17 Berlin 13359, Germany * This product includes software
+ * Osloer Strasse 16/17 Berlin 13359, Germany * This product includes software
* developed at TESOBE (http://www.tesobe.com/)
*/
package code.api.v6_0_0
@@ -3379,8 +3379,15 @@ object JSONFactory600 extends CustomJsonFormats with MdcLoggable {
/** One personal dynamic entity the Consent may act on for the granting User: bank_id "" for a
* system-level entity; actions are "read" and/or "write". ideas/CONSENT_MY_RESOURCES.md */
case class PostConsentPersonalDynamicEntityJson(bank_id: String, entity_name: String, actions: List[String])
+/** The granting User's linked Customers at one Bank that the Consent may act on. bank_id is required:
+ * a Customer belongs to a Bank, and naming it keeps the grant as narrow as the User meant it.
+ * actions are "read" and/or "write". ideas/CONSENT_MY_RESOURCES.md */
+case class PostConsentLinkedCustomersJson(bank_id: String, actions: List[String])
/** The User's own resources a Consent may act on (owned, not granted): one typed list per kind. */
-case class PostConsentMyResourcesJson(personal_dynamic_entities: Option[List[PostConsentPersonalDynamicEntityJson]])
+case class PostConsentMyResourcesJson(
+ personal_dynamic_entities: Option[List[PostConsentPersonalDynamicEntityJson]],
+ linked_customers: Option[List[PostConsentLinkedCustomersJson]] = None
+)
/**
* v6.0.0 create-consent body: the v3.1.0 body plus `my_resources`. Older versions are STABLE or
* next in line to be frozen, so the field lives here. Appended at the end of the file on purpose:
diff --git a/obp-api/src/main/scala/code/api/v7_0_0/Http4s700.scala b/obp-api/src/main/scala/code/api/v7_0_0/Http4s700.scala
index c7c56ab224..bedb50f089 100644
--- a/obp-api/src/main/scala/code/api/v7_0_0/Http4s700.scala
+++ b/obp-api/src/main/scala/code/api/v7_0_0/Http4s700.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v7_0_0
import org.json4s._
@@ -50,7 +77,7 @@ import com.openbankproject.commons.util.{ApiVersion, ApiVersionStatus, ScannedAp
import code.loginattempts.LoginAttempt
import code.metrics.{APIMetrics, MappedMetric}
import code.users.UserAgreementProvider
-import net.liftweb.common.Full
+import net.liftweb.common.{Box, Full}
import com.openbankproject.commons.util.JsonAliases.prettyRender
import org.json4s.{Extraction, Formats}
import net.liftweb.mapper.{By, ByList, Descending, MaxRows, OrderBy}
@@ -3465,11 +3492,13 @@ object Http4s700 {
// ── End Routing Schemes ───────────────────────────────────────────────────
- // ── Dynamic Glossary Items ────────────────────────────────────────────────
- // The Glossary served by GET /obp/v3.0.0/api/glossary is the union of the static Glossary
- // Items compiled into Glossary.scala and the Dynamic Glossary Items maintained here. A
- // Dynamic Item replaces a static one of the same title (compared case insensitively), so an
- // operator can correct, extend or localise shipped text without redeploying the API.
+ // ── The Glossary ──────────────────────────────────────────────────────────
+ // One resource. GET /api/glossary is the Glossary itself — the union of the static Items
+ // compiled into Glossary.scala and the Dynamic Items held in the database — and an Item is
+ // addressed by its title underneath it. POST, PUT and DELETE maintain the Dynamic Items: a
+ // Dynamic Item replaces a static one of the same title, so an operator can correct, extend or
+ // localise shipped text without redeploying the API. Whether an Item is stored or shipped is
+ // the `is_dynamic` field, not a different path.
//
// Title is the resource key. TITLE segments may contain '.' and spaces — http4s matches path
// segments by '/' and url-decodes them, so "Bank.bank_id" is a single segment.
@@ -3479,8 +3508,199 @@ object Http4s700 {
private def isValidGlossaryItemTitle(title: String): Boolean =
title.nonEmpty && title.length <= GlossaryItemMaxTitleLength
- val createDynamicGlossaryItem: HttpRoutes[IO] = HttpRoutes.of[IO] {
- case req @ POST -> `prefixPath` / "glossary-items" =>
+ private val v7GlossaryDocsRequireRole = APIUtil.getPropsAsBoolValue("apiOptions.glossaryDocsRequireRole", false)
+
+ // Titles are matched case-insensitively with '-', '_', '/' and runs of whitespace all treated
+ // as a single space. That way the hyphenated anchor form a reader copies out of a
+ // /glossary#Some-Item link finds the Item titled "Some Item", and the one shipped title
+ // containing a slash stays reachable as a path segment, which '%2F' is not.
+ private def normaliseGlossaryTitle(title: String): String =
+ Option(title).getOrElse("").trim.toLowerCase.replaceAll("[-_/\\s]+", " ")
+
+ // Rendering every Item through Pegdown is too expensive to do per request, and a lazy val
+ // would never pick up a Dynamic Glossary Item change, so the merged Glossary is cached against
+ // the Dynamic Item watermark. Each entry keeps the database row it came from, so one lookup
+ // serves both the Glossary and a single Item without going back to the table.
+ private type GlossaryEntry = (Glossary.GlossaryItem, Option[code.glossaryitem.DynamicGlossaryItemTrait])
+
+ private val cachedGlossaryEntries =
+ new java.util.concurrent.atomic.AtomicReference[Option[(String, List[GlossaryEntry])]](None)
+
+ private def glossaryEntries: List[GlossaryEntry] = {
+ val version = Glossary.dynamicGlossaryItemsVersion
+ cachedGlossaryEntries.get() match {
+ case Some((cachedVersion, entries)) if cachedVersion == version => entries
+ case _ =>
+ val rowsByTitle = DynamicGlossaryItems.dynamicGlossaryItem.vend.getAllDynamicGlossaryItems
+ .map(_.map(row => row.title.toLowerCase -> row).toMap)
+ .getOrElse(Map.empty[String, code.glossaryitem.DynamicGlossaryItemTrait])
+ val entries = APIUtil.getGlossaryItems.map(item => (item, rowsByTitle.get(item.title.toLowerCase)))
+ cachedGlossaryEntries.set(Some((version, entries)))
+ entries
+ }
+ }
+
+ // The Glossary reads without a login, as it always has, unless this instance says otherwise.
+ private def glossaryReadIsAllowed(cc: CallContext): Future[Any] =
+ if (v7GlossaryDocsRequireRole) {
+ Helper.booleanToFuture(AuthenticatedUserIsRequired, failCode = 401, cc = Some(cc))(cc.user.isDefined).flatMap { _ =>
+ NewStyle.function.hasEntitlement("", cc.user.openOrThrowException("user required").userId, ApiRole.canReadGlossary, Some(cc))
+ }
+ } else Future.unit
+
+ val getGlossary: HttpRoutes[IO] = HttpRoutes.of[IO] {
+ case req @ GET -> `prefixPath` / "api" / "glossary" =>
+ EndpointHelpers.executeAndRespond(req) { cc =>
+ val q = req.uri.query.params
+ val search = q.get("search").map(_.trim).filter(_.nonEmpty).map(_.toLowerCase)
+ val source = q.get("source").map(_.trim.toLowerCase).getOrElse("all")
+ val limit = q.get("limit").flatMap(v => scala.util.Try(v.toInt).toOption)
+ val offset = q.get("offset").flatMap(v => scala.util.Try(v.toInt).toOption).getOrElse(0).max(0)
+ for {
+ _ <- glossaryReadIsAllowed(cc)
+ _ <- Helper.booleanToFuture(InvalidGlossarySource, 400, Some(cc))(Set("all", "static", "dynamic")(source))
+ } yield {
+ val matching = glossaryEntries.filter { case (item, _) =>
+ (source match {
+ case "static" => !item.isDynamic
+ case "dynamic" => item.isDynamic
+ case _ => true
+ }) && search.forall(s => item.title.toLowerCase.contains(s))
+ }
+ // Paging is opt in: without limit the Glossary answers whole, as it has for years.
+ val page = limit match {
+ case Some(n) => matching.slice(offset, offset + n.max(0))
+ case None => matching
+ }
+ JSONFactory700.createGlossaryJsonV700(
+ page.map { case (item, meta) =>
+ JSONFactory700.createServedGlossaryItemJsonV700(item, meta, expanded = true, includeAuthor = cc.user.isDefined)
+ },
+ totalCount = matching.size
+ )
+ }
+ }
+ }
+
+ resourceDocs += ResourceDoc(
+ implementedInApiVersion,
+ nameOf(getGlossary),
+ "GET",
+ "/api/glossary",
+ "Get Glossary of the API",
+ """Returns the Glossary of the API: the union of
+ |
+ |* **static Glossary Items**, compiled into the API and only changing when the API is redeployed, and
+ |* **Dynamic Glossary Items**, held in the database and maintained with POST, PUT and DELETE on this same path.
+ |
+ |A Dynamic Item replaces a static one of the same title. Each entry reports which it is:
+ |
+ |* `is_dynamic` — true when the entry comes from the database rather than the API source.
+ |* `overrides_static_item` — true when this Dynamic Item is displacing a static Item of the same title. Overriding has to be declared when the Item is created, so this is deliberate; the API also reports these in its logs at startup.
+ |* `glossary_item_id`, `created_at` and `updated_at` are present for a Dynamic Item and absent for a static one, which has nothing to manage. `created_by_user_id` is returned to authenticated callers only.
+ |
+ |**One Item at a time.** `GET /obp/v7.0.0/api/glossary/TITLE` returns a single Item. Prefer it — the whole Glossary is around a megabyte, which is a lot to download to read one entry.
+ |
+ |**Optional query parameters:**
+ |
+ |* `search` — only Items whose title contains this value, case insensitively.
+ |* `source` — `all` (default), `static` or `dynamic`.
+ |* `limit` and `offset` — page the result. Without `limit` the whole Glossary is returned, as it always has been. `total_count` counts what matched before paging.
+ |
+ |This is the same Glossary that `GET /obp/v3.0.0/api/glossary` returns. That version is STABLE and its JSON cannot change, so it carries neither the fields above nor these parameters.
+ |
+ |""",
+ EmptyBody,
+ JSONFactory700.GlossaryJsonV700(
+ glossary_items = List(
+ JSONFactory700.GlossaryItemJsonV700(
+ glossary_item_id = None,
+ title = "Bank.bank_id",
+ description = JSONFactory700.GlossaryItemDescriptionJsonV700(
+ markdown = "The unique identifier of the Bank on this OBP instance.",
+ html = "The unique identifier of the Bank on this OBP instance.
"
+ ),
+ is_dynamic = false,
+ overrides_static_item = false,
+ shadows_static_glossary_item = false,
+ created_by_user_id = None,
+ created_at = None,
+ updated_at = None
+ )
+ ),
+ total_count = 1
+ ),
+ // No $AuthenticatedUserIsRequired here on purpose: declaring it is what makes the
+ // middleware demand a login, and the Glossary has always read without one.
+ List(UserHasMissingRoles, InvalidGlossarySource, UnknownError),
+ apiTagDocumentation :: Nil,
+ None,
+ http4sPartialFunction = Some(getGlossary)
+ )
+
+ val getGlossaryItem: HttpRoutes[IO] = HttpRoutes.of[IO] {
+ case req @ GET -> `prefixPath` / "api" / "glossary" / titleSegment =>
+ EndpointHelpers.executeAndRespond(req) { cc =>
+ val expanded = !req.uri.query.params.get("expanded").map(_.trim.toLowerCase).contains("false")
+ for {
+ _ <- glossaryReadIsAllowed(cc)
+ // A Dynamic Item wins over a static one of the same title, exactly as it does in the
+ // Glossary itself, so this always answers with the text the Glossary is serving.
+ json <- Future {
+ val wanted = normaliseGlossaryTitle(titleSegment)
+ Box(glossaryEntries.find { case (item, _) => normaliseGlossaryTitle(item.title) == wanted }
+ .map { case (item, meta) =>
+ JSONFactory700.createServedGlossaryItemJsonV700(item, meta, expanded, includeAuthor = cc.user.isDefined)
+ })
+ }.map(unboxFullOrFail(_, Some(cc), GlossaryItemNotFound, 404))
+ } yield json
+ }
+ }
+
+ resourceDocs += ResourceDoc(
+ implementedInApiVersion,
+ nameOf(getGlossaryItem),
+ "GET",
+ "/api/glossary/TITLE",
+ "Get Glossary Item",
+ """Returns one Glossary Item — the Dynamic Item with this title if there is one, and the static Item shipped with the API otherwise. That is the same precedence the Glossary itself uses, so this is always the text the Glossary is serving.
+ |
+ |Reading an Item costs a fraction of the whole Glossary, so an agent or a page that wants one entry should ask for it here.
+ |
+ |The title is matched case insensitively, with hyphens, underscores, slashes and spaces all treated alike: `/api/glossary/Signal-Channels` finds the Item titled `Signal Channels`. (A title containing a slash cannot be written literally in a path, and `%2F` does not survive most proxies, which is why the slash is folded in too.)
+ |
+ |`is_dynamic` says which kind you got. A static Item has no `glossary_item_id`, `created_by_user_id`, `created_at` or `updated_at`, and cannot be updated or deleted — create a Dynamic Item with `overrides_static_item: true` to displace it.
+ |
+ |**Optional query parameter:**
+ |
+ |* `expanded` — `true` by default: Glossary Items quote each other through placeholders, and the default expands them into the text a reader wants. Pass `expanded=false` to get the description exactly as it was authored, which is what an editor must send back to PUT.
+ |
+ |Returns 404 only when neither a Dynamic nor a static Glossary Item has this title.
+ |
+ |""",
+ EmptyBody,
+ JSONFactory700.GlossaryItemJsonV700(
+ glossary_item_id = Some("8f2b1c44-1f2a-4c3d-9a7e-5b6c7d8e9f01"),
+ title = "Bank.bank_id",
+ description = JSONFactory700.GlossaryItemDescriptionJsonV700(
+ markdown = "The unique identifier of the Bank on this OBP instance.",
+ html = "The unique identifier of the Bank on this OBP instance.
"
+ ),
+ is_dynamic = true,
+ overrides_static_item = true,
+ shadows_static_glossary_item = true,
+ created_by_user_id = Some("9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"),
+ created_at = Some(new java.util.Date()),
+ updated_at = Some(new java.util.Date())
+ ),
+ List(UserHasMissingRoles, GlossaryItemNotFound, UnknownError),
+ apiTagDocumentation :: Nil,
+ None,
+ http4sPartialFunction = Some(getGlossaryItem)
+ )
+
+ val createGlossaryItem: HttpRoutes[IO] = HttpRoutes.of[IO] {
+ case req @ POST -> `prefixPath` / "api" / "glossary" =>
EndpointHelpers.withUserAndBodyCreated[JSONFactory700.PostGlossaryItemJsonV700, JSONFactory700.GlossaryItemJsonV700](req) { (user, body, cc) =>
// A json null extracts to a null String rather than failing, so guard before trimming.
val title = Option(body.title).map(_.trim).getOrElse("")
@@ -3510,17 +3730,17 @@ object Http4s700 {
resourceDocs += ResourceDoc(
implementedInApiVersion,
- nameOf(createDynamicGlossaryItem),
+ nameOf(createGlossaryItem),
"POST",
- "/glossary-items",
- "Create Dynamic Glossary Item",
- """Create a Dynamic Glossary Item.
+ "/api/glossary",
+ "Create Glossary Item",
+ """Adds an Item to the Glossary. The Item is stored in the database — a Dynamic Glossary Item — and served by `GET /obp/v7.0.0/api/glossary` alongside the Items compiled into the API.
|
|`description` is markdown, the same flavour the static Glossary uses. It is returned as both markdown and rendered html.
|
- |Titles are unique case insensitively across Dynamic Glossary Items — creating one that already exists returns 409; update it with `PUT /glossary-items/TITLE` instead.
+ |Titles are unique case insensitively — creating one that already exists returns 409; update it with `PUT /obp/v7.0.0/api/glossary/TITLE` instead.
|
- |**Overriding a static Glossary Item.** If the title matches one of the API's own (static) Glossary Items, the request is refused with `OBP-30577` unless you set `overrides_static_item: true`. That way an item never displaces shipped documentation just because its title happened to be taken. When you do declare it, this item replaces the static one everywhere the Glossary is served — `GET /obp/v3.0.0/api/glossary` and the Glossary text embedded in endpoint descriptions — and deleting it restores the static text.
+ |**Overriding a static Glossary Item.** If the title matches one of the API's own (static) Items, the request is refused with `OBP-30577` unless you set `overrides_static_item: true`. That way an Item never displaces shipped documentation just because its title happened to be taken. When you do declare it, this Item replaces the static one everywhere the Glossary is served — including the Glossary text embedded in endpoint descriptions — and deleting it restores the static text.
|
|The response reports both `overrides_static_item` (what you declared) and `shadows_static_glossary_item` (whether a static Item of this title exists right now). They differ if a static Item is added later with a title this one already used; that case is reported in the API logs at startup.
|
@@ -3531,125 +3751,28 @@ object Http4s700 {
overrides_static_item = Some(true)
),
JSONFactory700.GlossaryItemJsonV700(
- glossary_item_id = "8f2b1c44-1f2a-4c3d-9a7e-5b6c7d8e9f01",
+ glossary_item_id = Some("8f2b1c44-1f2a-4c3d-9a7e-5b6c7d8e9f01"),
title = "Bank.bank_id",
description = JSONFactory700.GlossaryItemDescriptionJsonV700(
markdown = "The unique identifier of the Bank on this OBP instance.",
html = "The unique identifier of the Bank on this OBP instance.
"
),
+ is_dynamic = true,
overrides_static_item = true,
shadows_static_glossary_item = true,
- created_by_user_id = "9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
- created_at = new java.util.Date(),
- updated_at = new java.util.Date()
+ created_by_user_id = Some("9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"),
+ created_at = Some(new java.util.Date()),
+ updated_at = Some(new java.util.Date())
),
List($AuthenticatedUserIsRequired, UserHasMissingRoles, InvalidJsonFormat,
InvalidGlossaryItemTitle, GlossaryItemAlreadyExists, CreateGlossaryItemError, UnknownError),
apiTagDocumentation :: Nil,
Some(List(canCreateGlossaryItem)),
- http4sPartialFunction = Some(createDynamicGlossaryItem)
+ http4sPartialFunction = Some(createGlossaryItem)
)
- val getDynamicGlossaryItems: HttpRoutes[IO] = HttpRoutes.of[IO] {
- case req @ GET -> `prefixPath` / "glossary-items" =>
- EndpointHelpers.withUser(req) { (_, cc) =>
- val q = req.uri.query.params
- val title = q.get("title").filter(_.nonEmpty)
- val limit = q.get("limit").flatMap(s => scala.util.Try(s.toInt).toOption).getOrElse(100).max(1).min(500)
- val offset = q.get("offset").flatMap(s => scala.util.Try(s.toInt).toOption).getOrElse(0).max(0)
- for {
- page <- DynamicGlossaryItems.dynamicGlossaryItem.vend.getDynamicGlossaryItems(title, limit, offset)
- .map(unboxFullOrFail(_, Some(cc), UnknownError, 500))
- (rows, total) = page
- } yield JSONFactory700.createGlossaryItemsJsonV700(rows, total, limit, offset)
- }
- }
-
- resourceDocs += ResourceDoc(
- implementedInApiVersion,
- nameOf(getDynamicGlossaryItems),
- "GET",
- "/glossary-items",
- "Get Dynamic Glossary Items",
- """Returns the Dynamic Glossary Items only — the ones held in the database and maintained over these endpoints.
- |
- |For the Glossary as consumers see it (static Glossary Items unioned with these), call `GET /obp/v3.0.0/api/glossary`.
- |
- |Optional query parameters:
- |
- |* `title` — return only items whose title contains this value (case insensitive).
- |* `limit` — page size, default 100, maximum 500.
- |* `offset` — number of items to skip, default 0.
- |
- |Authentication is Required.""".stripMargin,
- EmptyBody,
- JSONFactory700.GlossaryItemsJsonV700(
- glossary_items = List(
- JSONFactory700.GlossaryItemJsonV700(
- glossary_item_id = "8f2b1c44-1f2a-4c3d-9a7e-5b6c7d8e9f01",
- title = "Bank.bank_id",
- description = JSONFactory700.GlossaryItemDescriptionJsonV700(
- markdown = "The unique identifier of the Bank on this OBP instance.",
- html = "The unique identifier of the Bank on this OBP instance.
"
- ),
- overrides_static_item = true,
- shadows_static_glossary_item = true,
- created_by_user_id = "9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
- created_at = new java.util.Date(),
- updated_at = new java.util.Date()
- )
- ),
- pagination = JSONFactory700.GlossaryItemPaginationJsonV700(total = 1, limit = 100, offset = 0)
- ),
- List($AuthenticatedUserIsRequired, UnknownError),
- apiTagDocumentation :: Nil,
- None,
- http4sPartialFunction = Some(getDynamicGlossaryItems)
- )
-
- val getDynamicGlossaryItem: HttpRoutes[IO] = HttpRoutes.of[IO] {
- case req @ GET -> `prefixPath` / "glossary-items" / titleSegment =>
- EndpointHelpers.withUser(req) { (_, cc) =>
- for {
- row <- Future(DynamicGlossaryItems.dynamicGlossaryItem.vend.getDynamicGlossaryItemByTitle(titleSegment))
- .map(unboxFullOrFail(_, Some(cc), GlossaryItemNotFound, 404))
- } yield JSONFactory700.createGlossaryItemJsonV700(row)
- }
- }
-
- resourceDocs += ResourceDoc(
- implementedInApiVersion,
- nameOf(getDynamicGlossaryItem),
- "GET",
- "/glossary-items/TITLE",
- "Get Dynamic Glossary Item",
- """Returns one Dynamic Glossary Item by title. The title is matched case insensitively.
- |
- |Returns 404 if no Dynamic Glossary Item has this title, even when a static Glossary Item does — this endpoint only sees Dynamic Items.
- |
- |Authentication is Required.""".stripMargin,
- EmptyBody,
- JSONFactory700.GlossaryItemJsonV700(
- glossary_item_id = "8f2b1c44-1f2a-4c3d-9a7e-5b6c7d8e9f01",
- title = "Bank.bank_id",
- description = JSONFactory700.GlossaryItemDescriptionJsonV700(
- markdown = "The unique identifier of the Bank on this OBP instance.",
- html = "The unique identifier of the Bank on this OBP instance.
"
- ),
- overrides_static_item = true,
- shadows_static_glossary_item = true,
- created_by_user_id = "9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
- created_at = new java.util.Date(),
- updated_at = new java.util.Date()
- ),
- List($AuthenticatedUserIsRequired, GlossaryItemNotFound, UnknownError),
- apiTagDocumentation :: Nil,
- None,
- http4sPartialFunction = Some(getDynamicGlossaryItem)
- )
-
- val updateDynamicGlossaryItem: HttpRoutes[IO] = HttpRoutes.of[IO] {
- case req @ PUT -> `prefixPath` / "glossary-items" / titleSegment =>
+ val updateGlossaryItem: HttpRoutes[IO] = HttpRoutes.of[IO] {
+ case req @ PUT -> `prefixPath` / "api" / "glossary" / titleSegment =>
EndpointHelpers.withUserAndBody[JSONFactory700.PutGlossaryItemJsonV700, JSONFactory700.GlossaryItemJsonV700](req) { (_, body, cc) =>
for {
_ <- Future(DynamicGlossaryItems.dynamicGlossaryItem.vend.getDynamicGlossaryItemByTitle(titleSegment))
@@ -3665,15 +3788,17 @@ object Http4s700 {
resourceDocs += ResourceDoc(
implementedInApiVersion,
- nameOf(updateDynamicGlossaryItem),
+ nameOf(updateGlossaryItem),
"PUT",
- "/glossary-items/TITLE",
- "Update Dynamic Glossary Item",
- """Replaces the description of a Dynamic Glossary Item. The title is the resource key and cannot be changed here — to rename an item, delete it and create a new one.
+ "/api/glossary/TITLE",
+ "Update Glossary Item",
+ """Replaces the description of a Glossary Item held in the database.
+ |
+ |The title cannot be changed: it is the key. Create a new Item and delete this one to rename.
|
- |`description` is markdown.
+ |Only Items stored in the database can be updated. A title that only a static Glossary Item has returns 404 — shipped text is displaced by creating a Dynamic Item with `overrides_static_item: true`, not by editing it here.
|
- |`overrides_static_item` is optional and left as it is when omitted. Set it to confirm an override that was flagged as undeclared in the logs, or to false to record that this item is not meant to shadow static documentation.
+ |Send the description as it was authored. `GET /obp/v7.0.0/api/glossary/TITLE?expanded=false` returns exactly that, whereas the default expands the placeholders Items use to quote each other.
|
|Authentication is Required.""".stripMargin,
JSONFactory700.PutGlossaryItemJsonV700(
@@ -3681,27 +3806,28 @@ object Http4s700 {
overrides_static_item = Some(true)
),
JSONFactory700.GlossaryItemJsonV700(
- glossary_item_id = "8f2b1c44-1f2a-4c3d-9a7e-5b6c7d8e9f01",
+ glossary_item_id = Some("8f2b1c44-1f2a-4c3d-9a7e-5b6c7d8e9f01"),
title = "Bank.bank_id",
description = JSONFactory700.GlossaryItemDescriptionJsonV700(
markdown = "The unique identifier of the Bank on this OBP instance.",
html = "The unique identifier of the Bank on this OBP instance.
"
),
+ is_dynamic = true,
overrides_static_item = true,
shadows_static_glossary_item = true,
- created_by_user_id = "9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
- created_at = new java.util.Date(),
- updated_at = new java.util.Date()
+ created_by_user_id = Some("9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"),
+ created_at = Some(new java.util.Date()),
+ updated_at = Some(new java.util.Date())
),
List($AuthenticatedUserIsRequired, UserHasMissingRoles, InvalidJsonFormat,
GlossaryItemNotFound, UpdateGlossaryItemError, UnknownError),
apiTagDocumentation :: Nil,
Some(List(canUpdateGlossaryItem)),
- http4sPartialFunction = Some(updateDynamicGlossaryItem)
+ http4sPartialFunction = Some(updateGlossaryItem)
)
- val deleteDynamicGlossaryItem: HttpRoutes[IO] = HttpRoutes.of[IO] {
- case req @ DELETE -> `prefixPath` / "glossary-items" / titleSegment =>
+ val deleteGlossaryItem: HttpRoutes[IO] = HttpRoutes.of[IO] {
+ case req @ DELETE -> `prefixPath` / "api" / "glossary" / titleSegment =>
EndpointHelpers.withUserDelete(req) { (_, cc) =>
for {
_ <- Future(DynamicGlossaryItems.dynamicGlossaryItem.vend.getDynamicGlossaryItemByTitle(titleSegment))
@@ -3715,13 +3841,15 @@ object Http4s700 {
resourceDocs += ResourceDoc(
implementedInApiVersion,
- nameOf(deleteDynamicGlossaryItem),
+ nameOf(deleteGlossaryItem),
"DELETE",
- "/glossary-items/TITLE",
- "Delete Dynamic Glossary Item",
- """Deletes a Dynamic Glossary Item.
+ "/api/glossary/TITLE",
+ "Delete Glossary Item",
+ """Removes a Glossary Item held in the database.
+ |
+ |Only Items stored in the database can be deleted: a title that only a static Glossary Item has returns 404, since shipped text lives in the API source.
|
- |If the item was shadowing a static Glossary Item of the same title, the static text is served again from the next call to `GET /obp/v3.0.0/api/glossary`.
+ |If the Item was displacing a static Glossary Item of the same title, the static text is served again from the next call to `GET /obp/v7.0.0/api/glossary`.
|
|Authentication is Required.""".stripMargin,
EmptyBody,
@@ -3730,85 +3858,10 @@ object Http4s700 {
DeleteGlossaryItemError, UnknownError),
apiTagDocumentation :: Nil,
Some(List(canDeleteGlossaryItem)),
- http4sPartialFunction = Some(deleteDynamicGlossaryItem)
+ http4sPartialFunction = Some(deleteGlossaryItem)
)
- // The Glossary itself, at v7.0.0. v3.0.0 serves the same merged content, but that version is
- // STABLE and its JSON cannot gain fields, so the provenance flags live here.
-
- private val v7GlossaryDocsRequireRole = APIUtil.getPropsAsBoolValue("apiOptions.glossaryDocsRequireRole", false)
-
- // Same key-based expiry as the v3.0.0 endpoint: rendering every item through Pegdown is too
- // expensive per request, and a lazy val would never pick up a Dynamic Glossary Item change.
- private val cachedApiGlossaryJson =
- new java.util.concurrent.atomic.AtomicReference[Option[(String, JSONFactory700.ApiGlossaryJsonV700)]](None)
-
- private def apiGlossaryJson: JSONFactory700.ApiGlossaryJsonV700 = {
- val version = Glossary.dynamicGlossaryItemsVersion
- cachedApiGlossaryJson.get() match {
- case Some((cachedVersion, json)) if cachedVersion == version => json
- case _ =>
- val json = JSONFactory700.createApiGlossaryJsonV700(APIUtil.getGlossaryItems)
- cachedApiGlossaryJson.set(Some((version, json)))
- json
- }
- }
-
- val getApiGlossary: HttpRoutes[IO] = HttpRoutes.of[IO] {
- case req @ GET -> `prefixPath` / "api" / "glossary" =>
- EndpointHelpers.executeAndRespond(req) { cc =>
- for {
- _ <- if (v7GlossaryDocsRequireRole) {
- Helper.booleanToFuture(AuthenticatedUserIsRequired, failCode = 401, cc = Some(cc))(cc.user.isDefined).flatMap { _ =>
- NewStyle.function.hasEntitlement("", cc.user.openOrThrowException("user required").userId, ApiRole.canReadGlossary, Some(cc))
- }
- } else Future.unit
- } yield apiGlossaryJson
- }
- }
-
- resourceDocs += ResourceDoc(
- implementedInApiVersion,
- nameOf(getApiGlossary),
- "GET",
- "/api/glossary",
- "Get Glossary of the API",
- """Returns the glossary of the API: the union of
- |
- |* **Static Glossary Items**, compiled into the API and only changing when the API is redeployed, and
- |* **Dynamic Glossary Items**, held in the database and maintained over the Glossary Item endpoints.
- |
- |Each entry reports where it came from:
- |
- |* `is_dynamic` — true when the entry is a Dynamic Glossary Item rather than one shipped with the API.
- |* `overrides_static_item` — true when this Dynamic Item is displacing a static Glossary Item of the same title. Overriding has to be declared when the Item is created, so this is deliberate; the API also reports these in its logs at startup.
- |
- |This is the same Glossary that `GET /obp/v3.0.0/api/glossary` returns. That version is STABLE and its JSON cannot change, so it omits the two fields above and is otherwise identical.
- |
- |The response includes an **ETag** header. Clients can send **If-None-Match** with the ETag value on subsequent requests to receive a **304 Not Modified** if the content has not changed. Cache the response locally and revalidate with the ETag, since Dynamic Glossary Items can change between calls.
- |
- |""",
- EmptyBody,
- JSONFactory700.ApiGlossaryJsonV700(
- glossary_items = List(
- JSONFactory700.ApiGlossaryItemJsonV700(
- title = "Bank.bank_id",
- description = JSONFactory700.GlossaryItemDescriptionJsonV700(
- markdown = "The unique identifier of the Bank on this OBP instance.",
- html = "The unique identifier of the Bank on this OBP instance.
"
- ),
- is_dynamic = true,
- overrides_static_item = true
- )
- )
- ),
- List(UnknownError),
- apiTagDocumentation :: Nil,
- None,
- http4sPartialFunction = Some(getApiGlossary)
- )
-
- // ── End Dynamic Glossary Items ────────────────────────────────────────────
+ // ── End The Glossary ────────────────────────────────────────────
// ── Payee Lookup ──────────────────────────────────────────────────────────
// Generic "confirmation-of-payee" / pre-payment lookup. Caller supplies
@@ -5795,7 +5848,7 @@ object Http4s700 {
)
- // ─── API Product Subscriptions (see API_PRODUCT_SUBSCRIPTION_PLAN.md) ──────────────────
+ // ─── API Product Subscriptions (see docs/API_PRODUCT_SUBSCRIPTION_PLAN.md) ──────────────────
// Rule zero: a developer never needs a role for their own consumers; ownership
// (Consumer.createdByUserId == caller) is checked here. Roles are checked at the PRODUCT's
// bank (…AtOneBank); a billing adapter serving several banks is granted the role at each.
@@ -5813,7 +5866,7 @@ object Http4s700 {
code.consumer.Consumers.consumers.vend.getConsumerByConsumerIdFuture(subscription.consumerId)
.map(_.exists(c => userOwnsConsumer(c, userId)))
- private def subscriptionRoleCheck(bankId: String, userId: String, role: ApiRole, cc: CallContext): Future[net.liftweb.common.Box[Unit]] =
+ private def subscriptionRoleCheck(bankId: String, userId: String, role: ApiRole, cc: CallContext): Future[Box[Unit]] =
NewStyle.function.handleEntitlementsAndScopes(bankId, userId, role :: Nil, Some(cc))
private def subscriptionWithAttributesJson(subscription: ApiProductSubscriptionTrait, cc: CallContext): Future[ApiProductSubscriptionJsonV700] =
@@ -6349,7 +6402,7 @@ object Http4s700 {
// ═══════════════════════════════════════════════════════════════════════════
// Maker/checker for dynamic code: Dynamic Change Requests
- // Design: MAKER_CHECKER_DYNAMIC_CODE_DESIGN.md. Approval is system level (no bank endpoints).
+ // Design: docs/MAKER_CHECKER_DYNAMIC_CODE_DESIGN.md. Approval is system level (no bank endpoints).
// ═══════════════════════════════════════════════════════════════════════════
import code.dynamicchangerequest.{DynamicChangeRequestTrait, MakerChecker}
@@ -6977,6 +7030,115 @@ object Http4s700 {
http4sPartialFunction = Some(getRateLimiterConfig)
)
+ // ─── getMyCustomersAtBank / getMyCustomers (v7 — agent aware) ────────────
+ //
+ // The v5.0.0 pair reads by the caller's own id. For a consent user that is the agent identity,
+ // which owns nothing, so it reads back nothing it created -- the "dropping stones into a well"
+ // problem. These read for the on-behalf-of User instead, behind an explicit Consent grant.
+ //
+ // Visibility is by resource TYPE and all-or-nothing within the Bank the Consent names, never by
+ // provenance ("the rows this agent created"): a partial view the agent cannot explain to itself
+ // is worse than none, and provenance filtering would need a per-table consent column the
+ // delegation model rejects. ON_BEHALF_OF_USER_ID_PLAN.md, Decision 11.
+ //
+ // Older versions are unchanged and fail closed (the agent owns nothing, so it sees nothing), which
+ // is why this may be version-scoped at all: the split is only ever safe in the direction where the
+ // old endpoint shows less. The version is not a security boundary -- a consent user may call v5.
+
+ /** 403 unless the caller is the granting User itself, or its Consent names this Bank's linked Customers. */
+ private def requireLinkedCustomersGrant(bankId: String, cc: CallContext): Future[net.liftweb.common.Box[Unit]] =
+ if (!cc.user.exists(_.isConsentUser)) Future.successful(Full(()))
+ else code.util.Helper.booleanToFuture(
+ s"$ConsentMyResourcesMissing linked_customers entry needed: bank_id '$bankId', action '${code.api.util.ConsentMyResources.actionRead}'",
+ 403, cc = Some(cc)) {
+ cc.consentMyResources.exists(_.coversLinkedCustomers(bankId, code.api.util.ConsentMyResources.actionRead))
+ }
+
+ /** The User whose links are read: the caller, or the User its Consent acts for. Same rule as the provider. */
+ private def linkedCustomerOwnerId(userId: String): String =
+ code.users.Users.users.vend
+ .attributedUserId(userId, code.users.UserReference.UserCustomerLinkUser).openOr(userId)
+
+ val getMyCustomersAtBank: HttpRoutes[IO] = HttpRoutes.of[IO] {
+ case req @ GET -> `prefixPath` / "banks" / _ / "my" / "customers" =>
+ EndpointHelpers.withUserAndBank(req) { (user, bank, cc) =>
+ for {
+ _ <- requireLinkedCustomersGrant(bank.bankId.value, cc)
+ (customers, _) <- BankConnector.connector.vend
+ .getCustomersByUserId(linkedCustomerOwnerId(user.userId), Some(cc))
+ .map(connectorEmptyResponse(_, Some(cc)))
+ } yield code.api.v2_1_0.JSONFactory210.createCustomersJson(customers.filter(_.bankId == bank.bankId.value))
+ }
+ }
+
+ resourceDocs += ResourceDoc(
+ implementedInApiVersion,
+ nameOf(getMyCustomersAtBank),
+ "GET",
+ "/banks/BANK_ID/my/customers",
+ "Get My Customers at Bank",
+ s"""Returns the Customers at the Bank linked to the User this call is made for.
+ |
+ |Called by that User, this is their own linked Customers.
+ |
+ |Called by a consent user (an agent identity minted by a Consent), it is the linked Customers of the
+ |User the Consent acts for -- all of them at this Bank, exactly as that User sees them -- and only when
+ |the Consent's `my_resources.linked_customers` names this `bank_id` with the `read` action. Otherwise
+ |the answer is 403 naming the entry that is missing. A Consent never grants a partial view: an agent
+ |either sees this Bank's linked Customers or it sees none.
+ |
+ |$${userAuthenticationMessage(true)}""".stripMargin,
+ EmptyBody,
+ customerJSONs,
+ List($AuthenticatedUserIsRequired, $BankNotFound, ConsentMyResourcesMissing, UserCustomerLinksNotFoundForUser, UnknownError),
+ List(apiTagCustomer, apiTagUser),
+ None,
+ http4sPartialFunction = Some(getMyCustomersAtBank)
+ )
+
+ val getMyCustomers: HttpRoutes[IO] = HttpRoutes.of[IO] {
+ case req @ GET -> `prefixPath` / "my" / "customers" =>
+ EndpointHelpers.withUser(req) { (user, cc) =>
+ val callerIsConsentUser = user.isConsentUser
+ val grantedBankIds =
+ cc.consentMyResources.map(_.linkedCustomerBankIds(code.api.util.ConsentMyResources.actionRead)).getOrElse(Nil)
+ for {
+ _ <- if (!callerIsConsentUser) Future.successful(Full(()))
+ else code.util.Helper.booleanToFuture(
+ s"$ConsentMyResourcesMissing linked_customers entry needed with action '${code.api.util.ConsentMyResources.actionRead}'",
+ 403, cc = Some(cc)) { grantedBankIds.nonEmpty }
+ (customers, _) <- BankConnector.connector.vend
+ .getCustomersByUserId(linkedCustomerOwnerId(user.userId), Some(cc))
+ .map(connectorEmptyResponse(_, Some(cc)))
+ visible = if (callerIsConsentUser) customers.filter(c => grantedBankIds.contains(c.bankId)) else customers
+ } yield code.api.v2_1_0.JSONFactory210.createCustomersJson(visible)
+ }
+ }
+
+ resourceDocs += ResourceDoc(
+ implementedInApiVersion,
+ nameOf(getMyCustomers),
+ "GET",
+ "/my/customers",
+ "Get My Customers",
+ s"""Returns the Customers linked to the User this call is made for, at every Bank.
+ |
+ |Called by that User, this is all of their own linked Customers.
+ |
+ |Called by a consent user (an agent identity minted by a Consent), it is the linked Customers of the
+ |User the Consent acts for, at the Banks the Consent's `my_resources.linked_customers` names with the
+ |`read` action. A Consent that names no Bank gets 403 rather than an empty list, so an agent is never
+ |left unable to tell "you may not see this" from "there is nothing here".
+ |
+ |$${userAuthenticationMessage(true)}""".stripMargin,
+ EmptyBody,
+ customerJSONs,
+ List($AuthenticatedUserIsRequired, ConsentMyResourcesMissing, UserCustomerLinksNotFoundForUser, UnknownError),
+ List(apiTagCustomer, apiTagUser),
+ None,
+ http4sPartialFunction = Some(getMyCustomers)
+ )
+
val allRoutes: HttpRoutes[IO] = {
val sorted = resourceDocs
.sortBy(rd => -rd.requestUrl.split("/").count(_.nonEmpty))
diff --git a/obp-api/src/main/scala/code/api/v7_0_0/JSONFactory7.0.0.scala b/obp-api/src/main/scala/code/api/v7_0_0/JSONFactory7.0.0.scala
index bc043efea0..f9174dd4d9 100644
--- a/obp-api/src/main/scala/code/api/v7_0_0/JSONFactory7.0.0.scala
+++ b/obp-api/src/main/scala/code/api/v7_0_0/JSONFactory7.0.0.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v7_0_0
import code.api.Constant
@@ -85,7 +112,7 @@ object JSONFactory700 extends MdcLoggable with code.api.util.CustomJsonFormats {
blankToNone(entity.ApprovedHash.get), Some(entity.IsActive.get))
)
- // ─── Maker/checker: dynamic change requests (design: MAKER_CHECKER_DYNAMIC_CODE_DESIGN.md) ───
+ // ─── Maker/checker: dynamic change requests (design: docs/MAKER_CHECKER_DYNAMIC_CODE_DESIGN.md) ───
case class PostDynamicChangeRequestJsonV700(
target_type: String,
operation: String,
@@ -943,85 +970,80 @@ object JSONFactory700 extends MdcLoggable with code.api.util.CustomJsonFormats {
case class GlossaryItemDescriptionJsonV700(markdown: String, html: String)
case class GlossaryItemJsonV700(
- glossary_item_id: String,
+ // A static Glossary Item is compiled into the API rather than stored, so it has no id, no
+ // author and no timestamps. These are present for a Dynamic Item and absent for a static one.
+ glossary_item_id: Option[String],
title: String,
description: GlossaryItemDescriptionJsonV700,
+ // False when this is a static Glossary Item shipped with the API.
+ is_dynamic: Boolean,
// What the operator declared when creating or updating the item.
overrides_static_item: Boolean,
// What is actually true right now: a static Glossary Item of this title exists. The two
// differ when a static Item was added after this one, which is worth someone's attention.
shadows_static_glossary_item: Boolean,
- created_by_user_id: String,
- created_at: java.util.Date,
- updated_at: java.util.Date
- )
-
- case class GlossaryItemPaginationJsonV700(total: Int, limit: Int, offset: Int)
-
- case class GlossaryItemsJsonV700(
- glossary_items: List[GlossaryItemJsonV700],
- pagination: GlossaryItemPaginationJsonV700
+ created_by_user_id: Option[String],
+ created_at: Option[java.util.Date],
+ updated_at: Option[java.util.Date]
)
def createGlossaryItemJsonV700(r: code.glossaryitem.DynamicGlossaryItemTrait): GlossaryItemJsonV700 =
GlossaryItemJsonV700(
- glossary_item_id = r.glossaryItemId,
+ glossary_item_id = Some(r.glossaryItemId),
title = r.title,
description = GlossaryItemDescriptionJsonV700(
markdown = r.description,
html = PegdownOptions.convertPegdownToHtmlTweaked(r.description)
),
+ is_dynamic = true,
overrides_static_item = r.overridesStaticItem,
// Flagged so a caller can see at a glance that this item is shadowing shipped text.
shadows_static_glossary_item = Glossary.staticGlossaryItemExists(r.title),
- created_by_user_id = r.createdByUserId,
- created_at = r.createdAt,
- updated_at = r.updatedAt
+ created_by_user_id = Some(r.createdByUserId),
+ created_at = Some(r.createdAt),
+ updated_at = Some(r.updatedAt)
)
// ── The Glossary as served: static and Dynamic Items merged ─────────────────
- // Distinct from GlossaryItemJsonV700 above, which is the management view of one Dynamic Item.
- // v3.0.0 serves the same Glossary without these provenance fields; that version is STABLE and
- // its JSON must not change, so the flags are offered here instead.
-
- case class ApiGlossaryItemJsonV700(
- title: String,
- description: GlossaryItemDescriptionJsonV700,
- // True when this entry comes from the DynamicGlossaryItem table rather than the API source.
- is_dynamic: Boolean,
- // True when this Dynamic Item is displacing a static Glossary Item of the same title.
- overrides_static_item: Boolean
- )
+ // One Item shape for the whole resource. A static Item is compiled into the API, so the
+ // management fields are absent for it; a Dynamic Item carries them. v3.0.0 serves the same
+ // Glossary with its own two-field shape, which is STABLE and must not change.
- case class ApiGlossaryJsonV700(glossary_items: List[ApiGlossaryItemJsonV700])
+ case class GlossaryJsonV700(glossary_items: List[GlossaryItemJsonV700], total_count: Int)
- def createApiGlossaryItemJsonV700(item: Glossary.GlossaryItem): ApiGlossaryItemJsonV700 = {
- // Glossary Items cross-reference each other, so expand their placeholders as well.
- val description = Glossary.expandGlossaryPlaceholders(item.description())
- ApiGlossaryItemJsonV700(
+ /**
+ * One Item as the Glossary serves it.
+ *
+ * `expanded` controls the Glossary placeholders that Items use to quote each other: true gives
+ * the text a reader wants, false the text as authored, which is what an editor must PUT back.
+ * `includeAuthor` keeps created_by_user_id out of anonymous responses.
+ */
+ def createServedGlossaryItemJsonV700(
+ item: Glossary.GlossaryItem,
+ meta: Option[code.glossaryitem.DynamicGlossaryItemTrait],
+ expanded: Boolean,
+ includeAuthor: Boolean
+ ): GlossaryItemJsonV700 = {
+ val raw = item.description()
+ val markdown = if (expanded) Glossary.expandGlossaryPlaceholders(raw) else raw
+ GlossaryItemJsonV700(
+ glossary_item_id = meta.map(_.glossaryItemId),
title = item.title,
description = GlossaryItemDescriptionJsonV700(
- markdown = description.stripMargin,
- html = PegdownOptions.convertPegdownToHtmlTweaked(description)
+ markdown = markdown,
+ html = PegdownOptions.convertPegdownToHtmlTweaked(markdown)
),
is_dynamic = item.isDynamic,
- overrides_static_item = item.shadowsStaticItem
+ overrides_static_item = item.overridesStaticItem,
+ shadows_static_glossary_item = item.shadowsStaticItem,
+ created_by_user_id = if (includeAuthor) meta.map(_.createdByUserId) else None,
+ created_at = meta.map(_.createdAt),
+ updated_at = meta.map(_.updatedAt)
)
}
- def createApiGlossaryJsonV700(items: List[Glossary.GlossaryItem]): ApiGlossaryJsonV700 =
- ApiGlossaryJsonV700(glossary_items = items.map(createApiGlossaryItemJsonV700))
-
- def createGlossaryItemsJsonV700(
- rows: List[code.glossaryitem.DynamicGlossaryItemTrait],
- total: Int,
- limit: Int,
- offset: Int
- ): GlossaryItemsJsonV700 =
- GlossaryItemsJsonV700(
- glossary_items = rows.map(createGlossaryItemJsonV700),
- pagination = GlossaryItemPaginationJsonV700(total = total, limit = limit, offset = offset)
- )
+ def createGlossaryJsonV700(items: List[GlossaryItemJsonV700], totalCount: Int): GlossaryJsonV700 =
+ GlossaryJsonV700(glossary_items = items, total_count = totalCount)
// ── Qualified Identifier ────────────────────────────────────────────────────
// A (scheme, value) triple where the scheme qualifies the value's namespace.
@@ -2635,7 +2657,7 @@ object JSONFactory700 extends MdcLoggable with code.api.util.CustomJsonFormats {
everything_as_expected = true
)
- // ─── API Product Subscription (v7.0.0). See API_PRODUCT_SUBSCRIPTION_PLAN.md ───────────────
+ // ─── API Product Subscription (v7.0.0). See docs/API_PRODUCT_SUBSCRIPTION_PLAN.md ───────────────
case class PostApiProductSubscriptionJsonV700(
consumer_id: String,
diff --git a/obp-api/src/main/scala/code/apicollection/ApiCollection.scala b/obp-api/src/main/scala/code/apicollection/ApiCollection.scala
index 35405ac021..4d4bb73379 100644
--- a/obp-api/src/main/scala/code/apicollection/ApiCollection.scala
+++ b/obp-api/src/main/scala/code/apicollection/ApiCollection.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.apicollection
import code.util.MappedUUID
diff --git a/obp-api/src/main/scala/code/apicollection/ApiCollectionsProvider.scala b/obp-api/src/main/scala/code/apicollection/ApiCollectionsProvider.scala
index cb691d5e38..9d5d754b00 100644
--- a/obp-api/src/main/scala/code/apicollection/ApiCollectionsProvider.scala
+++ b/obp-api/src/main/scala/code/apicollection/ApiCollectionsProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.apicollection
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/main/scala/code/apicollectionendpoint/ApiCollectionEndpoint.scala b/obp-api/src/main/scala/code/apicollectionendpoint/ApiCollectionEndpoint.scala
index 2dab5fc79c..f1fbfb50dd 100644
--- a/obp-api/src/main/scala/code/apicollectionendpoint/ApiCollectionEndpoint.scala
+++ b/obp-api/src/main/scala/code/apicollectionendpoint/ApiCollectionEndpoint.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.apicollectionendpoint
import code.util.MappedUUID
diff --git a/obp-api/src/main/scala/code/apicollectionendpoint/ApiCollectionEndpointsProvider.scala b/obp-api/src/main/scala/code/apicollectionendpoint/ApiCollectionEndpointsProvider.scala
index 2721098985..9ed81b3cbf 100644
--- a/obp-api/src/main/scala/code/apicollectionendpoint/ApiCollectionEndpointsProvider.scala
+++ b/obp-api/src/main/scala/code/apicollectionendpoint/ApiCollectionEndpointsProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.apicollectionendpoint
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/main/scala/code/apiproduct/ApiProduct.scala b/obp-api/src/main/scala/code/apiproduct/ApiProduct.scala
index d907a09b59..0d1d39550d 100644
--- a/obp-api/src/main/scala/code/apiproduct/ApiProduct.scala
+++ b/obp-api/src/main/scala/code/apiproduct/ApiProduct.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.apiproduct
import code.util.{MappedUUID, UUIDString}
diff --git a/obp-api/src/main/scala/code/apiproduct/ApiProductsProvider.scala b/obp-api/src/main/scala/code/apiproduct/ApiProductsProvider.scala
index f6f7c6ef33..87c4be27ac 100644
--- a/obp-api/src/main/scala/code/apiproduct/ApiProductsProvider.scala
+++ b/obp-api/src/main/scala/code/apiproduct/ApiProductsProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.apiproduct
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/main/scala/code/apiproductattribute/ApiProductAttribute.scala b/obp-api/src/main/scala/code/apiproductattribute/ApiProductAttribute.scala
index ec3448eae6..9ef6fa69c8 100644
--- a/obp-api/src/main/scala/code/apiproductattribute/ApiProductAttribute.scala
+++ b/obp-api/src/main/scala/code/apiproductattribute/ApiProductAttribute.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.apiproductattribute
import code.util.{MappedUUID, UUIDString}
diff --git a/obp-api/src/main/scala/code/apiproductattribute/ApiProductAttributesProvider.scala b/obp-api/src/main/scala/code/apiproductattribute/ApiProductAttributesProvider.scala
index 2c0eac5183..cd9072cf2b 100644
--- a/obp-api/src/main/scala/code/apiproductattribute/ApiProductAttributesProvider.scala
+++ b/obp-api/src/main/scala/code/apiproductattribute/ApiProductAttributesProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.apiproductattribute
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscription.scala b/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscription.scala
index e30590d9a2..cd50e732a4 100644
--- a/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscription.scala
+++ b/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscription.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.apiproductsubscription
import code.util.{MappedUUID, UUIDString}
@@ -7,7 +34,7 @@ import java.util.Date
/**
* One Consumer holding one API Product for a period, with a status.
- * See API_PRODUCT_SUBSCRIPTION_PLAN.md and the Glossary item "API Product Subscription".
+ * See docs/API_PRODUCT_SUBSCRIPTION_PLAN.md and the Glossary item "API Product Subscription".
*/
class ApiProductSubscription extends ApiProductSubscriptionTrait with LongKeyedMapper[ApiProductSubscription] with IdPK with CreatedUpdated {
def getSingleton = ApiProductSubscription
diff --git a/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscriptionEnforcer.scala b/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscriptionEnforcer.scala
index 1c1a25de8c..c079bf75be 100644
--- a/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscriptionEnforcer.scala
+++ b/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscriptionEnforcer.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.apiproductsubscription
import code.api.util.APIUtil.ResourceDoc
@@ -15,7 +42,7 @@ import java.util.{Calendar, Date, TimeZone}
import scala.concurrent.Future
/**
- * Phase 3 of API_PRODUCT_SUBSCRIPTION_PLAN.md: makes a subscription's status enforceable.
+ * Phase 3 of docs/API_PRODUCT_SUBSCRIPTION_PLAN.md: makes a subscription's status enforceable.
*
* Called after every status change (NewStyle.updateApiProductSubscriptionStatus, which the POST
* auto-activation and the DELETE route also go through). Only three statuses touch anything:
diff --git a/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscriptionScope.scala b/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscriptionScope.scala
index 551064a718..204fcc3d67 100644
--- a/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscriptionScope.scala
+++ b/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscriptionScope.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.apiproductsubscription
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscriptionsProvider.scala b/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscriptionsProvider.scala
index 6fdfd3a744..5be71b457f 100644
--- a/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscriptionsProvider.scala
+++ b/obp-api/src/main/scala/code/apiproductsubscription/ApiProductSubscriptionsProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.apiproductsubscription
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/main/scala/code/apiproductsubscriptionattribute/ApiProductSubscriptionAttribute.scala b/obp-api/src/main/scala/code/apiproductsubscriptionattribute/ApiProductSubscriptionAttribute.scala
index f15477913c..00c302f09f 100644
--- a/obp-api/src/main/scala/code/apiproductsubscriptionattribute/ApiProductSubscriptionAttribute.scala
+++ b/obp-api/src/main/scala/code/apiproductsubscriptionattribute/ApiProductSubscriptionAttribute.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.apiproductsubscriptionattribute
import code.util.MappedUUID
diff --git a/obp-api/src/main/scala/code/apiproductsubscriptionattribute/ApiProductSubscriptionAttributesProvider.scala b/obp-api/src/main/scala/code/apiproductsubscriptionattribute/ApiProductSubscriptionAttributesProvider.scala
index 3336d36306..b620770e7a 100644
--- a/obp-api/src/main/scala/code/apiproductsubscriptionattribute/ApiProductSubscriptionAttributesProvider.scala
+++ b/obp-api/src/main/scala/code/apiproductsubscriptionattribute/ApiProductSubscriptionAttributesProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.apiproductsubscriptionattribute
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/main/scala/code/atmattribute/AtmAttribute.scala b/obp-api/src/main/scala/code/atmattribute/AtmAttribute.scala
index a9c67187e4..d427e22a09 100644
--- a/obp-api/src/main/scala/code/atmattribute/AtmAttribute.scala
+++ b/obp-api/src/main/scala/code/atmattribute/AtmAttribute.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.atmattribute
/* For ProductAttribute */
diff --git a/obp-api/src/main/scala/code/atmattribute/MappedAtmAttributeProvider.scala b/obp-api/src/main/scala/code/atmattribute/MappedAtmAttributeProvider.scala
index 6420dcb75b..75caaeb172 100644
--- a/obp-api/src/main/scala/code/atmattribute/MappedAtmAttributeProvider.scala
+++ b/obp-api/src/main/scala/code/atmattribute/MappedAtmAttributeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.atmattribute
import code.util.{MappedUUID, UUIDString}
diff --git a/obp-api/src/main/scala/code/atms/Atms.scala b/obp-api/src/main/scala/code/atms/Atms.scala
index 647c7648e5..262e460b87 100644
--- a/obp-api/src/main/scala/code/atms/Atms.scala
+++ b/obp-api/src/main/scala/code/atms/Atms.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.atms
/* For atms */
diff --git a/obp-api/src/main/scala/code/atms/MappedAtmsProvider.scala b/obp-api/src/main/scala/code/atms/MappedAtmsProvider.scala
index f32ee54e45..76907d6c80 100644
--- a/obp-api/src/main/scala/code/atms/MappedAtmsProvider.scala
+++ b/obp-api/src/main/scala/code/atms/MappedAtmsProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.atms
import code.api.util.{OBPLimit, OBPOffset, OBPQueryParam}
diff --git a/obp-api/src/main/scala/code/authtypevalidation/AuthenticationTypeValidationProvider.scala b/obp-api/src/main/scala/code/authtypevalidation/AuthenticationTypeValidationProvider.scala
index eada38e8ec..f6d999beb2 100644
--- a/obp-api/src/main/scala/code/authtypevalidation/AuthenticationTypeValidationProvider.scala
+++ b/obp-api/src/main/scala/code/authtypevalidation/AuthenticationTypeValidationProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.authtypevalidation
/* For CardAttribute */
diff --git a/obp-api/src/main/scala/code/authtypevalidation/MappedAuthTypeValidationProvider.scala b/obp-api/src/main/scala/code/authtypevalidation/MappedAuthTypeValidationProvider.scala
index 6f7d122198..f37d284e6b 100644
--- a/obp-api/src/main/scala/code/authtypevalidation/MappedAuthTypeValidationProvider.scala
+++ b/obp-api/src/main/scala/code/authtypevalidation/MappedAuthTypeValidationProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.authtypevalidation
import code.api.cache.Caching
diff --git a/obp-api/src/main/scala/code/authtypevalidation/MappedAuthenticationTypeValidation.scala b/obp-api/src/main/scala/code/authtypevalidation/MappedAuthenticationTypeValidation.scala
index 3e985f8136..383d7359e5 100644
--- a/obp-api/src/main/scala/code/authtypevalidation/MappedAuthenticationTypeValidation.scala
+++ b/obp-api/src/main/scala/code/authtypevalidation/MappedAuthenticationTypeValidation.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.authtypevalidation
import net.liftweb.mapper._
diff --git a/obp-api/src/main/scala/code/bankaccountbalance/BankAccountBalance.scala b/obp-api/src/main/scala/code/bankaccountbalance/BankAccountBalance.scala
index 62e8f5bce7..eec84518de 100644
--- a/obp-api/src/main/scala/code/bankaccountbalance/BankAccountBalance.scala
+++ b/obp-api/src/main/scala/code/bankaccountbalance/BankAccountBalance.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankaccountbalance
import code.model.dataAccess.MappedBankAccount
diff --git a/obp-api/src/main/scala/code/bankaccountbalance/BankAccountBalanceProvider.scala b/obp-api/src/main/scala/code/bankaccountbalance/BankAccountBalanceProvider.scala
index 554e755a4b..6c7df010b2 100644
--- a/obp-api/src/main/scala/code/bankaccountbalance/BankAccountBalanceProvider.scala
+++ b/obp-api/src/main/scala/code/bankaccountbalance/BankAccountBalanceProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankaccountbalance
import code.model.dataAccess.MappedBankAccount
diff --git a/obp-api/src/main/scala/code/bankattribute/BankAttribute.scala b/obp-api/src/main/scala/code/bankattribute/BankAttribute.scala
index d4cc54ff4b..d1c3ac30bb 100644
--- a/obp-api/src/main/scala/code/bankattribute/BankAttribute.scala
+++ b/obp-api/src/main/scala/code/bankattribute/BankAttribute.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankattribute
/* For ProductAttribute */
diff --git a/obp-api/src/main/scala/code/bankattribute/MappedBankAttributeProvider.scala b/obp-api/src/main/scala/code/bankattribute/MappedBankAttributeProvider.scala
index 96b4d9abb8..d6be2e9c94 100644
--- a/obp-api/src/main/scala/code/bankattribute/MappedBankAttributeProvider.scala
+++ b/obp-api/src/main/scala/code/bankattribute/MappedBankAttributeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankattribute
import code.util.{MappedUUID, UUIDString}
diff --git a/obp-api/src/main/scala/code/bankconnectors/AvroSerializer.scala b/obp-api/src/main/scala/code/bankconnectors/AvroSerializer.scala
index 9d75703790..de1d0a255d 100644
--- a/obp-api/src/main/scala/code/bankconnectors/AvroSerializer.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/AvroSerializer.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import java.io.{ByteArrayOutputStream, InputStream}
diff --git a/obp-api/src/main/scala/code/bankconnectors/Connector.scala b/obp-api/src/main/scala/code/bankconnectors/Connector.scala
index 3ad2c20c27..342e36d040 100644
--- a/obp-api/src/main/scala/code/bankconnectors/Connector.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/Connector.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import org.json4s._
diff --git a/obp-api/src/main/scala/code/bankconnectors/ConnectorEndpoints.scala b/obp-api/src/main/scala/code/bankconnectors/ConnectorEndpoints.scala
index 8c7e04c642..17972d6216 100644
--- a/obp-api/src/main/scala/code/bankconnectors/ConnectorEndpoints.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/ConnectorEndpoints.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import org.json4s._
diff --git a/obp-api/src/main/scala/code/bankconnectors/ConnectorProxy.scala b/obp-api/src/main/scala/code/bankconnectors/ConnectorProxy.scala
index f0af513793..ee867dec0c 100644
--- a/obp-api/src/main/scala/code/bankconnectors/ConnectorProxy.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/ConnectorProxy.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import java.lang.reflect.InvocationHandler
diff --git a/obp-api/src/main/scala/code/bankconnectors/ConnectorUtils.scala b/obp-api/src/main/scala/code/bankconnectors/ConnectorUtils.scala
index 6af21df486..053d73c3da 100644
--- a/obp-api/src/main/scala/code/bankconnectors/ConnectorUtils.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/ConnectorUtils.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import org.json4s._
diff --git a/obp-api/src/main/scala/code/bankconnectors/DoobieBadLoginAttemptQueries.scala b/obp-api/src/main/scala/code/bankconnectors/DoobieBadLoginAttemptQueries.scala
index 8179e66537..8a7058c627 100644
--- a/obp-api/src/main/scala/code/bankconnectors/DoobieBadLoginAttemptQueries.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/DoobieBadLoginAttemptQueries.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import code.api.util.DoobieUtil
diff --git a/obp-api/src/main/scala/code/bankconnectors/DoobieBankAccountQueries.scala b/obp-api/src/main/scala/code/bankconnectors/DoobieBankAccountQueries.scala
index f862d78506..f8448ff952 100644
--- a/obp-api/src/main/scala/code/bankconnectors/DoobieBankAccountQueries.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/DoobieBankAccountQueries.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import code.api.util.DoobieUtil
diff --git a/obp-api/src/main/scala/code/bankconnectors/DoobieBusinessStatusQueries.scala b/obp-api/src/main/scala/code/bankconnectors/DoobieBusinessStatusQueries.scala
index 609d8ec439..4b81a8cd55 100644
--- a/obp-api/src/main/scala/code/bankconnectors/DoobieBusinessStatusQueries.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/DoobieBusinessStatusQueries.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import code.api.util.DoobieUtil
diff --git a/obp-api/src/main/scala/code/bankconnectors/DoobieChallengeQueries.scala b/obp-api/src/main/scala/code/bankconnectors/DoobieChallengeQueries.scala
index 73871f7c76..b5ee5ba6c6 100644
--- a/obp-api/src/main/scala/code/bankconnectors/DoobieChallengeQueries.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/DoobieChallengeQueries.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import code.api.util.DoobieUtil
diff --git a/obp-api/src/main/scala/code/bankconnectors/DoobieConsentSchedulerQueries.scala b/obp-api/src/main/scala/code/bankconnectors/DoobieConsentSchedulerQueries.scala
index 51f34a700a..fb5691cfb1 100644
--- a/obp-api/src/main/scala/code/bankconnectors/DoobieConsentSchedulerQueries.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/DoobieConsentSchedulerQueries.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import code.api.util.DoobieUtil
diff --git a/obp-api/src/main/scala/code/bankconnectors/DoobieConsentStatusQueries.scala b/obp-api/src/main/scala/code/bankconnectors/DoobieConsentStatusQueries.scala
index c4ddcb5e17..96b1523504 100644
--- a/obp-api/src/main/scala/code/bankconnectors/DoobieConsentStatusQueries.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/DoobieConsentStatusQueries.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import code.api.util.DoobieUtil
diff --git a/obp-api/src/main/scala/code/bankconnectors/DoobieTransactionRequestQueries.scala b/obp-api/src/main/scala/code/bankconnectors/DoobieTransactionRequestQueries.scala
index 3e9635d88d..7213dd604d 100644
--- a/obp-api/src/main/scala/code/bankconnectors/DoobieTransactionRequestQueries.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/DoobieTransactionRequestQueries.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import code.api.util.DoobieUtil
diff --git a/obp-api/src/main/scala/code/bankconnectors/DoobieUserAuthContextUpdateQueries.scala b/obp-api/src/main/scala/code/bankconnectors/DoobieUserAuthContextUpdateQueries.scala
index a67e620947..590dee5fa2 100644
--- a/obp-api/src/main/scala/code/bankconnectors/DoobieUserAuthContextUpdateQueries.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/DoobieUserAuthContextUpdateQueries.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import code.api.util.DoobieUtil
diff --git a/obp-api/src/main/scala/code/bankconnectors/DynamicConnector.scala b/obp-api/src/main/scala/code/bankconnectors/DynamicConnector.scala
index 8ea8ccdd75..c263d0ba6a 100644
--- a/obp-api/src/main/scala/code/bankconnectors/DynamicConnector.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/DynamicConnector.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import code.api.APIFailureNewStyle
diff --git a/obp-api/src/main/scala/code/bankconnectors/InternalConnector.scala b/obp-api/src/main/scala/code/bankconnectors/InternalConnector.scala
index 7ee8447885..4ed7c2601d 100644
--- a/obp-api/src/main/scala/code/bankconnectors/InternalConnector.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/InternalConnector.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import org.json4s._
diff --git a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala
index 13b62768ba..6aaa41f96f 100644
--- a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnector.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import org.json4s._
diff --git a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnectorInternal.scala b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnectorInternal.scala
index 0fe35c0ae2..88a74c866a 100644
--- a/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnectorInternal.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/LocalMappedConnectorInternal.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import org.json4s._
diff --git a/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnectorBuilder.scala b/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnectorBuilder.scala
index 1c1cc278cc..1885ceb081 100644
--- a/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnectorBuilder.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnectorBuilder.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.akka
import code.bankconnectors.generator.ConnectorBuilderUtil._
diff --git a/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnector_vDec2018.scala b/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnector_vDec2018.scala
index 89c163e8c1..c451918374 100644
--- a/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnector_vDec2018.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/akka/AkkaConnector_vDec2018.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.akka
import org.json4s._
diff --git a/obp-api/src/main/scala/code/bankconnectors/akka/actor/AkkaConnectorActorConfig.scala b/obp-api/src/main/scala/code/bankconnectors/akka/actor/AkkaConnectorActorConfig.scala
index 1925ce9d4b..9a6a3f3f49 100644
--- a/obp-api/src/main/scala/code/bankconnectors/akka/actor/AkkaConnectorActorConfig.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/akka/actor/AkkaConnectorActorConfig.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.akka.actor
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/bankconnectors/akka/actor/AkkaConnectorActorInit.scala b/obp-api/src/main/scala/code/bankconnectors/akka/actor/AkkaConnectorActorInit.scala
index ec718d31d2..da200a0243 100644
--- a/obp-api/src/main/scala/code/bankconnectors/akka/actor/AkkaConnectorActorInit.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/akka/actor/AkkaConnectorActorInit.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.akka.actor
import org.apache.pekko.util.Timeout
diff --git a/obp-api/src/main/scala/code/bankconnectors/akka/actor/AkkaConnectorHelperActor.scala b/obp-api/src/main/scala/code/bankconnectors/akka/actor/AkkaConnectorHelperActor.scala
index f55d3e0303..0e37b0fb4c 100644
--- a/obp-api/src/main/scala/code/bankconnectors/akka/actor/AkkaConnectorHelperActor.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/akka/actor/AkkaConnectorHelperActor.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.akka.actor
import org.apache.pekko.actor.{ActorSystem, Props}
diff --git a/obp-api/src/main/scala/code/bankconnectors/akka/actor/SouthSideActorOfAkkaConnector.scala b/obp-api/src/main/scala/code/bankconnectors/akka/actor/SouthSideActorOfAkkaConnector.scala
index 78f083579f..34778cda2f 100644
--- a/obp-api/src/main/scala/code/bankconnectors/akka/actor/SouthSideActorOfAkkaConnector.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/akka/actor/SouthSideActorOfAkkaConnector.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.akka.actor
import org.apache.pekko.actor.{Actor, ActorLogging}
diff --git a/obp-api/src/main/scala/code/bankconnectors/cardano/CardanoConnector_vJun2025.scala b/obp-api/src/main/scala/code/bankconnectors/cardano/CardanoConnector_vJun2025.scala
index 4df8354b94..cc804f6cea 100644
--- a/obp-api/src/main/scala/code/bankconnectors/cardano/CardanoConnector_vJun2025.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/cardano/CardanoConnector_vJun2025.scala
@@ -19,7 +19,7 @@ along with this program. If not, see http://www.gnu.org/licenses/.
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
*/
diff --git a/obp-api/src/main/scala/code/bankconnectors/ethereum/DecodeRawTx.scala b/obp-api/src/main/scala/code/bankconnectors/ethereum/DecodeRawTx.scala
index 8446793e4c..93fe938e8e 100644
--- a/obp-api/src/main/scala/code/bankconnectors/ethereum/DecodeRawTx.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/ethereum/DecodeRawTx.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.ethereum
import java.math.BigInteger
diff --git a/obp-api/src/main/scala/code/bankconnectors/ethereum/EthereumConnector_vSept2025.scala b/obp-api/src/main/scala/code/bankconnectors/ethereum/EthereumConnector_vSept2025.scala
index 057875a781..a4b0fdbad8 100644
--- a/obp-api/src/main/scala/code/bankconnectors/ethereum/EthereumConnector_vSept2025.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/ethereum/EthereumConnector_vSept2025.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.ethereum
import org.json4s._
diff --git a/obp-api/src/main/scala/code/bankconnectors/generator/CommonsCaseClassGenerator.scala b/obp-api/src/main/scala/code/bankconnectors/generator/CommonsCaseClassGenerator.scala
index e1e7082b27..616c73cba3 100644
--- a/obp-api/src/main/scala/code/bankconnectors/generator/CommonsCaseClassGenerator.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/generator/CommonsCaseClassGenerator.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.generator
import code.bankconnectors.generator.ConnectorBuilderUtil._
diff --git a/obp-api/src/main/scala/code/bankconnectors/generator/ConnectorBuilderUtil.scala b/obp-api/src/main/scala/code/bankconnectors/generator/ConnectorBuilderUtil.scala
index d36055f2bc..acf6f6b96a 100644
--- a/obp-api/src/main/scala/code/bankconnectors/generator/ConnectorBuilderUtil.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/generator/ConnectorBuilderUtil.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.generator
import code.api.util.CodeGenerateUtils.createDocExample
diff --git a/obp-api/src/main/scala/code/bankconnectors/generator/InOutCaseClassGenerator.scala b/obp-api/src/main/scala/code/bankconnectors/generator/InOutCaseClassGenerator.scala
index d36c2895ff..4fba20f562 100644
--- a/obp-api/src/main/scala/code/bankconnectors/generator/InOutCaseClassGenerator.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/generator/InOutCaseClassGenerator.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.generator
import code.bankconnectors.generator.ConnectorBuilderUtil._
diff --git a/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcConnectorBuilder.scala b/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcConnectorBuilder.scala
index 1dc3749719..9e5d373657 100644
--- a/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcConnectorBuilder.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcConnectorBuilder.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.grpc
import code.bankconnectors.generator.ConnectorBuilderUtil._
diff --git a/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcConnector_vFeb2026.scala b/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcConnector_vFeb2026.scala
index e8e1fa2e4b..7d0c00a4a3 100644
--- a/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcConnector_vFeb2026.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcConnector_vFeb2026.scala
@@ -19,7 +19,7 @@ along with this program. If not, see http://www.gnu.org/licenses/.
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
*/
diff --git a/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcUtils.scala b/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcUtils.scala
index a7aebccef3..ccffbaad2d 100644
--- a/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcUtils.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/grpc/GrpcUtils.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.grpc
import org.json4s._
diff --git a/obp-api/src/main/scala/code/bankconnectors/grpc/api/ObpConnectorServiceGrpc.scala b/obp-api/src/main/scala/code/bankconnectors/grpc/api/ObpConnectorServiceGrpc.scala
index b75e9dd518..61ae211fb1 100644
--- a/obp-api/src/main/scala/code/bankconnectors/grpc/api/ObpConnectorServiceGrpc.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/grpc/api/ObpConnectorServiceGrpc.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written gRPC stubs for connector.proto
// Uses raw io.grpc API with protobuf wire format for full compatibility
// with any gRPC server implementing the same proto definition.
diff --git a/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorProcessor.scala b/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorProcessor.scala
index df13b8ff2a..457da20e37 100644
--- a/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorProcessor.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorProcessor.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.opencorridor
import org.json4s._
diff --git a/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorPublisher.scala b/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorPublisher.scala
index 62d51817f1..479081d6bc 100644
--- a/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorPublisher.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorPublisher.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.opencorridor
import code.amqpbroker.AmqpBankBroker
diff --git a/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorSettlement.scala b/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorSettlement.scala
index 1bce6f6451..de7c887952 100644
--- a/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorSettlement.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/opencorridor/OpenCorridorSettlement.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.opencorridor
import code.amqpbroker.AmqpBankBroker
diff --git a/obp-api/src/main/scala/code/bankconnectors/package.scala b/obp-api/src/main/scala/code/bankconnectors/package.scala
index 1211117536..3057501ef3 100644
--- a/obp-api/src/main/scala/code/bankconnectors/package.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/package.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code
import java.lang.reflect.{InvocationHandler, Method}
diff --git a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/AdapterStubBuilder.scala b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/AdapterStubBuilder.scala
index 7f177ef33f..85861f0773 100644
--- a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/AdapterStubBuilder.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/AdapterStubBuilder.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.rabbitmq.Adapter
import org.json4s._
diff --git a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/MockedRabbitMqAdapter.scala b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/MockedRabbitMqAdapter.scala
index 6020275d28..a69e8804d3 100644
--- a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/MockedRabbitMqAdapter.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/Adapter/MockedRabbitMqAdapter.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.rabbitmq.Adapter
import org.json4s._
diff --git a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnectionPool.scala b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnectionPool.scala
index 5474a0be72..9a7308b212 100644
--- a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnectionPool.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnectionPool.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.rabbitmq
diff --git a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnectorBuilder.scala b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnectorBuilder.scala
index 52fd289323..5659293b3a 100644
--- a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnectorBuilder.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnectorBuilder.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.rabbitmq
import code.bankconnectors.generator.ConnectorBuilderUtil._
diff --git a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnector_vOct2024.scala b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnector_vOct2024.scala
index 9cca42cfbf..360c91e2e7 100644
--- a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnector_vOct2024.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQConnector_vOct2024.scala
@@ -19,7 +19,7 @@ along with this program. If not, see http://www.gnu.org/licenses/.
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
*/
diff --git a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQUtils.scala b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQUtils.scala
index e707101a87..6deb486017 100644
--- a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQUtils.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQUtils.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.rabbitmq
import org.json4s._
diff --git a/obp-api/src/main/scala/code/bankconnectors/rest/RestConnectorBuilder.scala b/obp-api/src/main/scala/code/bankconnectors/rest/RestConnectorBuilder.scala
index 87d7598458..fcf8666164 100644
--- a/obp-api/src/main/scala/code/bankconnectors/rest/RestConnectorBuilder.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/rest/RestConnectorBuilder.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.rest
import code.bankconnectors.generator.ConnectorBuilderUtil._
diff --git a/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala b/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala
index a1dd67a998..6e62b59ab2 100644
--- a/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/rest/RestConnector_vMar2019.scala
@@ -19,7 +19,7 @@ along with this program. If not, see http://www.gnu.org/licenses/.
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
*/
diff --git a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/MSsqlStoredProcedureBuilder.scala b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/MSsqlStoredProcedureBuilder.scala
index c899e771e3..7c5f3c9729 100644
--- a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/MSsqlStoredProcedureBuilder.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/MSsqlStoredProcedureBuilder.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.storedprocedure
import org.json4s._
diff --git a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnectorBuilder.scala b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnectorBuilder.scala
index af65f542da..e864b039fa 100644
--- a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnectorBuilder.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnectorBuilder.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.storedprocedure
import code.bankconnectors.generator.ConnectorBuilderUtil._
diff --git a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnector_vDec2019.scala b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnector_vDec2019.scala
index 3533fa39c0..b799c0231b 100644
--- a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnector_vDec2019.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureConnector_vDec2019.scala
@@ -19,7 +19,7 @@ along with this program. If not, see http://www.gnu.org/licenses/.
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
*/
diff --git a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureUtils.scala b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureUtils.scala
index b9df61ec25..cefb51ff06 100644
--- a/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureUtils.scala
+++ b/obp-api/src/main/scala/code/bankconnectors/storedprocedure/StoredProcedureUtils.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.storedprocedure
import org.json4s._
diff --git a/obp-api/src/main/scala/code/branches/Branches.scala b/obp-api/src/main/scala/code/branches/Branches.scala
index 27d98b5f13..1add9e91a9 100644
--- a/obp-api/src/main/scala/code/branches/Branches.scala
+++ b/obp-api/src/main/scala/code/branches/Branches.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.branches
diff --git a/obp-api/src/main/scala/code/branches/MappedBranchesProvider.scala b/obp-api/src/main/scala/code/branches/MappedBranchesProvider.scala
index a822d3add1..7524ed0733 100644
--- a/obp-api/src/main/scala/code/branches/MappedBranchesProvider.scala
+++ b/obp-api/src/main/scala/code/branches/MappedBranchesProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.branches
import code.api.util.{OBPLimit, OBPOffset, OBPQueryParam}
diff --git a/obp-api/src/main/scala/code/bulkpayment/BulkPayment.scala b/obp-api/src/main/scala/code/bulkpayment/BulkPayment.scala
index b1df32ebe1..bbedec0df3 100644
--- a/obp-api/src/main/scala/code/bulkpayment/BulkPayment.scala
+++ b/obp-api/src/main/scala/code/bulkpayment/BulkPayment.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bulkpayment
import net.liftweb.common.{Box, Full}
diff --git a/obp-api/src/main/scala/code/bulkpayment/BulkPaymentHandler.scala b/obp-api/src/main/scala/code/bulkpayment/BulkPaymentHandler.scala
index b31cb83d51..5349f7823f 100644
--- a/obp-api/src/main/scala/code/bulkpayment/BulkPaymentHandler.scala
+++ b/obp-api/src/main/scala/code/bulkpayment/BulkPaymentHandler.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bulkpayment
import org.json4s._
diff --git a/obp-api/src/main/scala/code/bulkpayment/BulkPaymentTrait.scala b/obp-api/src/main/scala/code/bulkpayment/BulkPaymentTrait.scala
index 4d8469a172..b64731e201 100644
--- a/obp-api/src/main/scala/code/bulkpayment/BulkPaymentTrait.scala
+++ b/obp-api/src/main/scala/code/bulkpayment/BulkPaymentTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bulkpayment
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/cardattribute/CardAttribute.scala b/obp-api/src/main/scala/code/cardattribute/CardAttribute.scala
index 64e42263a2..bfaa3d702e 100644
--- a/obp-api/src/main/scala/code/cardattribute/CardAttribute.scala
+++ b/obp-api/src/main/scala/code/cardattribute/CardAttribute.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.cardattribute
/* For CardAttribute */
diff --git a/obp-api/src/main/scala/code/cardattribute/MappedCardAttribute.scala b/obp-api/src/main/scala/code/cardattribute/MappedCardAttribute.scala
index 9e105599e3..5c0e2d7254 100644
--- a/obp-api/src/main/scala/code/cardattribute/MappedCardAttribute.scala
+++ b/obp-api/src/main/scala/code/cardattribute/MappedCardAttribute.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.cardattribute
import code.util.{MappedUUID, UUIDString}
diff --git a/obp-api/src/main/scala/code/cardattribute/MappedCardAttributeProvider.scala b/obp-api/src/main/scala/code/cardattribute/MappedCardAttributeProvider.scala
index 22f2d156e3..5d834a3726 100644
--- a/obp-api/src/main/scala/code/cardattribute/MappedCardAttributeProvider.scala
+++ b/obp-api/src/main/scala/code/cardattribute/MappedCardAttributeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.cardattribute
import code.util.{MappedUUID, UUIDString}
diff --git a/obp-api/src/main/scala/code/cards/MappedPhisicalCard.scala b/obp-api/src/main/scala/code/cards/MappedPhisicalCard.scala
index 618848bcff..0b22e69b54 100644
--- a/obp-api/src/main/scala/code/cards/MappedPhisicalCard.scala
+++ b/obp-api/src/main/scala/code/cards/MappedPhisicalCard.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.cards
import java.util.{Date, UUID}
diff --git a/obp-api/src/main/scala/code/cards/PhisicalCardProvider.scala b/obp-api/src/main/scala/code/cards/PhisicalCardProvider.scala
index 53269538b6..8e61eb6068 100644
--- a/obp-api/src/main/scala/code/cards/PhisicalCardProvider.scala
+++ b/obp-api/src/main/scala/code/cards/PhisicalCardProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.cards
import java.util.Date
diff --git a/obp-api/src/main/scala/code/chat/ChatContentPolicy.scala b/obp-api/src/main/scala/code/chat/ChatContentPolicy.scala
index f69cc6cf48..2f079ada24 100644
--- a/obp-api/src/main/scala/code/chat/ChatContentPolicy.scala
+++ b/obp-api/src/main/scala/code/chat/ChatContentPolicy.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/chat/ChatEmailDigestScheduler.scala b/obp-api/src/main/scala/code/chat/ChatEmailDigestScheduler.scala
index 44363c9f64..a015001bdc 100644
--- a/obp-api/src/main/scala/code/chat/ChatEmailDigestScheduler.scala
+++ b/obp-api/src/main/scala/code/chat/ChatEmailDigestScheduler.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import code.actorsystem.ObpActorSystem
diff --git a/obp-api/src/main/scala/code/chat/ChatEmailDigestState.scala b/obp-api/src/main/scala/code/chat/ChatEmailDigestState.scala
index f988da2b15..036a5960e9 100644
--- a/obp-api/src/main/scala/code/chat/ChatEmailDigestState.scala
+++ b/obp-api/src/main/scala/code/chat/ChatEmailDigestState.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/chat/ChatEventBus.scala b/obp-api/src/main/scala/code/chat/ChatEventBus.scala
index 44973526b2..1542c4eec3 100644
--- a/obp-api/src/main/scala/code/chat/ChatEventBus.scala
+++ b/obp-api/src/main/scala/code/chat/ChatEventBus.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import org.json4s._
diff --git a/obp-api/src/main/scala/code/chat/ChatEventPublisher.scala b/obp-api/src/main/scala/code/chat/ChatEventPublisher.scala
index 658659a1e8..abff75127f 100644
--- a/obp-api/src/main/scala/code/chat/ChatEventPublisher.scala
+++ b/obp-api/src/main/scala/code/chat/ChatEventPublisher.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import org.json4s._
diff --git a/obp-api/src/main/scala/code/chat/ChatLinkPolicy.scala b/obp-api/src/main/scala/code/chat/ChatLinkPolicy.scala
index ec9038abe8..c1c59d681d 100644
--- a/obp-api/src/main/scala/code/chat/ChatLinkPolicy.scala
+++ b/obp-api/src/main/scala/code/chat/ChatLinkPolicy.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/chat/ChatMessageTrait.scala b/obp-api/src/main/scala/code/chat/ChatMessageTrait.scala
index 9b32a40174..afbe06e96c 100644
--- a/obp-api/src/main/scala/code/chat/ChatMessageTrait.scala
+++ b/obp-api/src/main/scala/code/chat/ChatMessageTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import java.util.Date
diff --git a/obp-api/src/main/scala/code/chat/ChatMessageValidation.scala b/obp-api/src/main/scala/code/chat/ChatMessageValidation.scala
index 8441cf8149..f3f135f693 100644
--- a/obp-api/src/main/scala/code/chat/ChatMessageValidation.scala
+++ b/obp-api/src/main/scala/code/chat/ChatMessageValidation.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
/**
diff --git a/obp-api/src/main/scala/code/chat/ChatPermissions.scala b/obp-api/src/main/scala/code/chat/ChatPermissions.scala
index 8a6fa53dd0..0499e9ebf6 100644
--- a/obp-api/src/main/scala/code/chat/ChatPermissions.scala
+++ b/obp-api/src/main/scala/code/chat/ChatPermissions.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import java.util.Date
diff --git a/obp-api/src/main/scala/code/chat/ChatRoomTrait.scala b/obp-api/src/main/scala/code/chat/ChatRoomTrait.scala
index 4ea50c79ca..2369f75909 100644
--- a/obp-api/src/main/scala/code/chat/ChatRoomTrait.scala
+++ b/obp-api/src/main/scala/code/chat/ChatRoomTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import java.util.Date
diff --git a/obp-api/src/main/scala/code/chat/DoobieChatMessageQueries.scala b/obp-api/src/main/scala/code/chat/DoobieChatMessageQueries.scala
index 9c4d9ae768..3a2592dc8e 100644
--- a/obp-api/src/main/scala/code/chat/DoobieChatMessageQueries.scala
+++ b/obp-api/src/main/scala/code/chat/DoobieChatMessageQueries.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import java.sql.Timestamp
diff --git a/obp-api/src/main/scala/code/chat/MappedChatMessage.scala b/obp-api/src/main/scala/code/chat/MappedChatMessage.scala
index 512f136391..74f58be568 100644
--- a/obp-api/src/main/scala/code/chat/MappedChatMessage.scala
+++ b/obp-api/src/main/scala/code/chat/MappedChatMessage.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import java.util.Date
diff --git a/obp-api/src/main/scala/code/chat/MappedChatRoom.scala b/obp-api/src/main/scala/code/chat/MappedChatRoom.scala
index 684009c152..cb1c146c06 100644
--- a/obp-api/src/main/scala/code/chat/MappedChatRoom.scala
+++ b/obp-api/src/main/scala/code/chat/MappedChatRoom.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import java.util.Date
diff --git a/obp-api/src/main/scala/code/chat/MappedParticipant.scala b/obp-api/src/main/scala/code/chat/MappedParticipant.scala
index 19ac0f1d3c..15cdbb63c8 100644
--- a/obp-api/src/main/scala/code/chat/MappedParticipant.scala
+++ b/obp-api/src/main/scala/code/chat/MappedParticipant.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import java.util.Date
diff --git a/obp-api/src/main/scala/code/chat/MappedReaction.scala b/obp-api/src/main/scala/code/chat/MappedReaction.scala
index 224cded481..d00e8ff7ec 100644
--- a/obp-api/src/main/scala/code/chat/MappedReaction.scala
+++ b/obp-api/src/main/scala/code/chat/MappedReaction.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import java.util.Date
diff --git a/obp-api/src/main/scala/code/chat/ParticipantTrait.scala b/obp-api/src/main/scala/code/chat/ParticipantTrait.scala
index 63059f8426..b015a7fdb6 100644
--- a/obp-api/src/main/scala/code/chat/ParticipantTrait.scala
+++ b/obp-api/src/main/scala/code/chat/ParticipantTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import java.util.Date
diff --git a/obp-api/src/main/scala/code/chat/ReactionTrait.scala b/obp-api/src/main/scala/code/chat/ReactionTrait.scala
index 0fa9f3211b..19dba80d6f 100644
--- a/obp-api/src/main/scala/code/chat/ReactionTrait.scala
+++ b/obp-api/src/main/scala/code/chat/ReactionTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.chat
import java.util.Date
diff --git a/obp-api/src/main/scala/code/connectormethod/ConnectorMethod.scala b/obp-api/src/main/scala/code/connectormethod/ConnectorMethod.scala
index fc37117569..cdcb108676 100644
--- a/obp-api/src/main/scala/code/connectormethod/ConnectorMethod.scala
+++ b/obp-api/src/main/scala/code/connectormethod/ConnectorMethod.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.connectormethod
import code.util.UUIDString
@@ -19,7 +46,7 @@ class ConnectorMethod extends LongKeyedMapper[ConnectorMethod] with IdPK with Cr
object CreatedByUserId extends MappedString(this, 255)
object UpdatedByUserId extends MappedString(this, 255)
object MethodBodyHash extends MappedString(this, 64)
- // Maker/checker (see MAKER_CHECKER_DYNAMIC_CODE_DESIGN.md): the runtime only loads this row when
+ // Maker/checker (see docs/MAKER_CHECKER_DYNAMIC_CODE_DESIGN.md): the runtime only loads this row when
// IsActive is true and, when maker/checker is enabled for this target type, when MethodBodyHash
// equals ApprovedHash. ApprovedHash is written only by an approved DynamicChangeRequest (or the
// one-off seeding of pre-existing rows when the feature is first enabled), never from a request body.
diff --git a/obp-api/src/main/scala/code/connectormethod/ConnectorMethodProvider.scala b/obp-api/src/main/scala/code/connectormethod/ConnectorMethodProvider.scala
index 0646a0c88a..d30980844a 100644
--- a/obp-api/src/main/scala/code/connectormethod/ConnectorMethodProvider.scala
+++ b/obp-api/src/main/scala/code/connectormethod/ConnectorMethodProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.connectormethod
import com.openbankproject.commons.model.JsonFieldReName
diff --git a/obp-api/src/main/scala/code/connectormethod/MappedConnectorMethodProvider.scala b/obp-api/src/main/scala/code/connectormethod/MappedConnectorMethodProvider.scala
index 23a74ba0e6..8bef23be08 100644
--- a/obp-api/src/main/scala/code/connectormethod/MappedConnectorMethodProvider.scala
+++ b/obp-api/src/main/scala/code/connectormethod/MappedConnectorMethodProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.connectormethod
import code.api.cache.Caching
diff --git a/obp-api/src/main/scala/code/consent/ConsentItem.scala b/obp-api/src/main/scala/code/consent/ConsentItem.scala
index d1252df093..c2e7955b39 100644
--- a/obp-api/src/main/scala/code/consent/ConsentItem.scala
+++ b/obp-api/src/main/scala/code/consent/ConsentItem.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.consent
import code.util.MappedUUID
diff --git a/obp-api/src/main/scala/code/consent/ConsentProvider.scala b/obp-api/src/main/scala/code/consent/ConsentProvider.scala
index 863e251a4d..f60283e780 100644
--- a/obp-api/src/main/scala/code/consent/ConsentProvider.scala
+++ b/obp-api/src/main/scala/code/consent/ConsentProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.consent
import code.api.util.OBPQueryParam
diff --git a/obp-api/src/main/scala/code/consent/ConsentRequesProvider.scala b/obp-api/src/main/scala/code/consent/ConsentRequesProvider.scala
index 6515f3a351..d61019a51c 100644
--- a/obp-api/src/main/scala/code/consent/ConsentRequesProvider.scala
+++ b/obp-api/src/main/scala/code/consent/ConsentRequesProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.consent
import code.model.Consumer
diff --git a/obp-api/src/main/scala/code/consent/ConsentRequest.scala b/obp-api/src/main/scala/code/consent/ConsentRequest.scala
index a920d0c910..8445d36c60 100644
--- a/obp-api/src/main/scala/code/consent/ConsentRequest.scala
+++ b/obp-api/src/main/scala/code/consent/ConsentRequest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.consent
import code.model.Consumer
diff --git a/obp-api/src/main/scala/code/consent/DoobieConsentQueries.scala b/obp-api/src/main/scala/code/consent/DoobieConsentQueries.scala
index 7bfb7e413c..126e72ac99 100644
--- a/obp-api/src/main/scala/code/consent/DoobieConsentQueries.scala
+++ b/obp-api/src/main/scala/code/consent/DoobieConsentQueries.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.consent
import doobie._
diff --git a/obp-api/src/main/scala/code/consent/MappedConsent.scala b/obp-api/src/main/scala/code/consent/MappedConsent.scala
index d660f1b46f..d6a87b18f3 100644
--- a/obp-api/src/main/scala/code/consent/MappedConsent.scala
+++ b/obp-api/src/main/scala/code/consent/MappedConsent.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.consent
import java.util.Date
diff --git a/obp-api/src/main/scala/code/consumer/ConsumerProvider.scala b/obp-api/src/main/scala/code/consumer/ConsumerProvider.scala
index a6de30c184..2acfdd8c0f 100644
--- a/obp-api/src/main/scala/code/consumer/ConsumerProvider.scala
+++ b/obp-api/src/main/scala/code/consumer/ConsumerProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.consumer
import code.api.util.{APIUtil, CallContext, OBPQueryParam}
diff --git a/obp-api/src/main/scala/code/context/ConsentAuthContextProvider.scala b/obp-api/src/main/scala/code/context/ConsentAuthContextProvider.scala
index cff770e946..ff94a0272d 100644
--- a/obp-api/src/main/scala/code/context/ConsentAuthContextProvider.scala
+++ b/obp-api/src/main/scala/code/context/ConsentAuthContextProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.context
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/context/MappedConsentAuthContext.scala b/obp-api/src/main/scala/code/context/MappedConsentAuthContext.scala
index 8f57fb243e..8eb3338d5a 100644
--- a/obp-api/src/main/scala/code/context/MappedConsentAuthContext.scala
+++ b/obp-api/src/main/scala/code/context/MappedConsentAuthContext.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.context
import code.util.{MappedUUID, UUIDString}
diff --git a/obp-api/src/main/scala/code/context/MappedConsentAuthContextProvider.scala b/obp-api/src/main/scala/code/context/MappedConsentAuthContextProvider.scala
index f25688d6c0..52f1dbd0a2 100644
--- a/obp-api/src/main/scala/code/context/MappedConsentAuthContextProvider.scala
+++ b/obp-api/src/main/scala/code/context/MappedConsentAuthContextProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.context
import code.api.util.ErrorMessages
diff --git a/obp-api/src/main/scala/code/context/MappedUserAuthContext.scala b/obp-api/src/main/scala/code/context/MappedUserAuthContext.scala
index 8a40e0bbc0..d799377921 100644
--- a/obp-api/src/main/scala/code/context/MappedUserAuthContext.scala
+++ b/obp-api/src/main/scala/code/context/MappedUserAuthContext.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.context
import code.util.{MappedUUID, UUIDString}
diff --git a/obp-api/src/main/scala/code/context/MappedUserAuthContextProvider.scala b/obp-api/src/main/scala/code/context/MappedUserAuthContextProvider.scala
index 130a3e60dc..dc31effecc 100644
--- a/obp-api/src/main/scala/code/context/MappedUserAuthContextProvider.scala
+++ b/obp-api/src/main/scala/code/context/MappedUserAuthContextProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.context
import code.api.util.ErrorMessages
diff --git a/obp-api/src/main/scala/code/context/MappedUserAuthContextUpdate.scala b/obp-api/src/main/scala/code/context/MappedUserAuthContextUpdate.scala
index 65873b828d..7df97fdef4 100644
--- a/obp-api/src/main/scala/code/context/MappedUserAuthContextUpdate.scala
+++ b/obp-api/src/main/scala/code/context/MappedUserAuthContextUpdate.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.context
import code.api.util.SecureRandomUtil
diff --git a/obp-api/src/main/scala/code/context/MappedUserAuthContextUpdateProvider.scala b/obp-api/src/main/scala/code/context/MappedUserAuthContextUpdateProvider.scala
index 92ff60e8e4..75bb4d5338 100644
--- a/obp-api/src/main/scala/code/context/MappedUserAuthContextUpdateProvider.scala
+++ b/obp-api/src/main/scala/code/context/MappedUserAuthContextUpdateProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.context
import code.api.util.APIUtil.transactionRequestChallengeTtl
diff --git a/obp-api/src/main/scala/code/context/UserAuthContextProvider.scala b/obp-api/src/main/scala/code/context/UserAuthContextProvider.scala
index ccf60b8fc1..a0a2edf249 100644
--- a/obp-api/src/main/scala/code/context/UserAuthContextProvider.scala
+++ b/obp-api/src/main/scala/code/context/UserAuthContextProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.context
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/context/UserAuthContextUpdateProvider.scala b/obp-api/src/main/scala/code/context/UserAuthContextUpdateProvider.scala
index 67953b8674..be44c4137b 100644
--- a/obp-api/src/main/scala/code/context/UserAuthContextUpdateProvider.scala
+++ b/obp-api/src/main/scala/code/context/UserAuthContextUpdateProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.context
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/counterpartyattribute/CounterpartyAttribute.scala b/obp-api/src/main/scala/code/counterpartyattribute/CounterpartyAttribute.scala
index e03c0e168c..46d97a594c 100644
--- a/obp-api/src/main/scala/code/counterpartyattribute/CounterpartyAttribute.scala
+++ b/obp-api/src/main/scala/code/counterpartyattribute/CounterpartyAttribute.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.counterpartyattribute
import com.openbankproject.commons.model.CounterpartyId
diff --git a/obp-api/src/main/scala/code/counterpartyattribute/MappedCounterpartyAttributeProvider.scala b/obp-api/src/main/scala/code/counterpartyattribute/MappedCounterpartyAttributeProvider.scala
index ce67a24de0..01efa90079 100644
--- a/obp-api/src/main/scala/code/counterpartyattribute/MappedCounterpartyAttributeProvider.scala
+++ b/obp-api/src/main/scala/code/counterpartyattribute/MappedCounterpartyAttributeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.counterpartyattribute
import code.util.{MappedUUID, UUIDString}
diff --git a/obp-api/src/main/scala/code/counterpartylimit/CounterpartyLimit.scala b/obp-api/src/main/scala/code/counterpartylimit/CounterpartyLimit.scala
index 87fb336dd0..16f9b49604 100644
--- a/obp-api/src/main/scala/code/counterpartylimit/CounterpartyLimit.scala
+++ b/obp-api/src/main/scala/code/counterpartylimit/CounterpartyLimit.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.counterpartylimit
import com.openbankproject.commons.model.CounterpartyLimitTrait
diff --git a/obp-api/src/main/scala/code/counterpartylimit/MappedCounterpartyLimit.scala b/obp-api/src/main/scala/code/counterpartylimit/MappedCounterpartyLimit.scala
index 9810f1e2f0..aeb3bd2a55 100644
--- a/obp-api/src/main/scala/code/counterpartylimit/MappedCounterpartyLimit.scala
+++ b/obp-api/src/main/scala/code/counterpartylimit/MappedCounterpartyLimit.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.counterpartylimit
import org.json4s._
diff --git a/obp-api/src/main/scala/code/crm/CrmEvent.scala b/obp-api/src/main/scala/code/crm/CrmEvent.scala
index 3629b2fcd0..88b1234f7e 100644
--- a/obp-api/src/main/scala/code/crm/CrmEvent.scala
+++ b/obp-api/src/main/scala/code/crm/CrmEvent.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.crm
/* For crmEvents */
diff --git a/obp-api/src/main/scala/code/crm/MappedCrmEventProvider.scala b/obp-api/src/main/scala/code/crm/MappedCrmEventProvider.scala
index 71f60e1a39..2b8130ddad 100644
--- a/obp-api/src/main/scala/code/crm/MappedCrmEventProvider.scala
+++ b/obp-api/src/main/scala/code/crm/MappedCrmEventProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.crm
import java.util.Date
diff --git a/obp-api/src/main/scala/code/customer/CustomerMessage.scala b/obp-api/src/main/scala/code/customer/CustomerMessage.scala
index faf8f719d7..c5e4d9f9ce 100644
--- a/obp-api/src/main/scala/code/customer/CustomerMessage.scala
+++ b/obp-api/src/main/scala/code/customer/CustomerMessage.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customer
import java.util.Date
diff --git a/obp-api/src/main/scala/code/customer/CustomerProvider.scala b/obp-api/src/main/scala/code/customer/CustomerProvider.scala
index 218190da41..cc3e4742fb 100644
--- a/obp-api/src/main/scala/code/customer/CustomerProvider.scala
+++ b/obp-api/src/main/scala/code/customer/CustomerProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customer
import java.util.Date
diff --git a/obp-api/src/main/scala/code/customer/MappedCustomerMessageProvider.scala b/obp-api/src/main/scala/code/customer/MappedCustomerMessageProvider.scala
index 1b8a6ca802..c522c4accb 100644
--- a/obp-api/src/main/scala/code/customer/MappedCustomerMessageProvider.scala
+++ b/obp-api/src/main/scala/code/customer/MappedCustomerMessageProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customer
import java.util.Date
diff --git a/obp-api/src/main/scala/code/customer/MappedCustomerProvider.scala b/obp-api/src/main/scala/code/customer/MappedCustomerProvider.scala
index ce8aeb867c..347f51b69f 100644
--- a/obp-api/src/main/scala/code/customer/MappedCustomerProvider.scala
+++ b/obp-api/src/main/scala/code/customer/MappedCustomerProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customer
import java.lang
diff --git a/obp-api/src/main/scala/code/customer/agent/AgentProvider.scala b/obp-api/src/main/scala/code/customer/agent/AgentProvider.scala
index 87993d2b98..97ca47caee 100644
--- a/obp-api/src/main/scala/code/customer/agent/AgentProvider.scala
+++ b/obp-api/src/main/scala/code/customer/agent/AgentProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customer.agent
import code.api.util.{CallContext, OBPQueryParam}
diff --git a/obp-api/src/main/scala/code/customer/agent/MappedAgentProvider.scala b/obp-api/src/main/scala/code/customer/agent/MappedAgentProvider.scala
index 3a9e877d0d..dadfdb64ea 100644
--- a/obp-api/src/main/scala/code/customer/agent/MappedAgentProvider.scala
+++ b/obp-api/src/main/scala/code/customer/agent/MappedAgentProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customer.agent
import code.api.util._
diff --git a/obp-api/src/main/scala/code/customer/internalMapping/CustomerIdMapping.scala b/obp-api/src/main/scala/code/customer/internalMapping/CustomerIdMapping.scala
index dbbd25c5b8..9820b36412 100644
--- a/obp-api/src/main/scala/code/customer/internalMapping/CustomerIdMapping.scala
+++ b/obp-api/src/main/scala/code/customer/internalMapping/CustomerIdMapping.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customer.internalMapping
import com.openbankproject.commons.model.{BankId, CustomerId}
diff --git a/obp-api/src/main/scala/code/customer/internalMapping/CustomerIdMappingProvider.scala b/obp-api/src/main/scala/code/customer/internalMapping/CustomerIdMappingProvider.scala
index 22ef69e5cf..d5ad78df74 100644
--- a/obp-api/src/main/scala/code/customer/internalMapping/CustomerIdMappingProvider.scala
+++ b/obp-api/src/main/scala/code/customer/internalMapping/CustomerIdMappingProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customer.internalMapping
import com.openbankproject.commons.model.{BankId, CustomerId}
diff --git a/obp-api/src/main/scala/code/customer/internalMapping/MappedCustomerIdMapping.scala b/obp-api/src/main/scala/code/customer/internalMapping/MappedCustomerIdMapping.scala
index 4570669449..3a778c0242 100644
--- a/obp-api/src/main/scala/code/customer/internalMapping/MappedCustomerIdMapping.scala
+++ b/obp-api/src/main/scala/code/customer/internalMapping/MappedCustomerIdMapping.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customer.internalMapping
import code.util.MappedUUID
diff --git a/obp-api/src/main/scala/code/customer/internalMapping/MappedCustomerIdMappingProvider.scala b/obp-api/src/main/scala/code/customer/internalMapping/MappedCustomerIdMappingProvider.scala
index a6e7817a31..5de2852a9c 100644
--- a/obp-api/src/main/scala/code/customer/internalMapping/MappedCustomerIdMappingProvider.scala
+++ b/obp-api/src/main/scala/code/customer/internalMapping/MappedCustomerIdMappingProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customer.internalMapping
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/main/scala/code/customerDobDependants/CustomerDependants.scala b/obp-api/src/main/scala/code/customerDobDependants/CustomerDependants.scala
index 0083705c3c..0c1df53240 100644
--- a/obp-api/src/main/scala/code/customerDobDependants/CustomerDependants.scala
+++ b/obp-api/src/main/scala/code/customerDobDependants/CustomerDependants.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.CustomerDependants
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/customerDobDependants/MapperCounterpartyBespoke.scala b/obp-api/src/main/scala/code/customerDobDependants/MapperCounterpartyBespoke.scala
index 9309cda362..3584cb1fca 100644
--- a/obp-api/src/main/scala/code/customerDobDependants/MapperCounterpartyBespoke.scala
+++ b/obp-api/src/main/scala/code/customerDobDependants/MapperCounterpartyBespoke.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.CustomerDependants
import code.customer.MappedCustomer
diff --git a/obp-api/src/main/scala/code/customeraccountlinks/CustomerAccountLink.scala b/obp-api/src/main/scala/code/customeraccountlinks/CustomerAccountLink.scala
index 3d6a8c8b38..f852662da9 100644
--- a/obp-api/src/main/scala/code/customeraccountlinks/CustomerAccountLink.scala
+++ b/obp-api/src/main/scala/code/customeraccountlinks/CustomerAccountLink.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customeraccountlinks
import com.openbankproject.commons.model.CustomerAccountLinkTrait
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/customeraccountlinks/MappedCustomerAccountLink.scala b/obp-api/src/main/scala/code/customeraccountlinks/MappedCustomerAccountLink.scala
index 2a3d216a60..9b3964146c 100644
--- a/obp-api/src/main/scala/code/customeraccountlinks/MappedCustomerAccountLink.scala
+++ b/obp-api/src/main/scala/code/customeraccountlinks/MappedCustomerAccountLink.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customeraccountlinks
import code.api.util.ErrorMessages
diff --git a/obp-api/src/main/scala/code/customeraddress/CustomerAddress.scala b/obp-api/src/main/scala/code/customeraddress/CustomerAddress.scala
index 1ff961caa9..a72b5d46bb 100644
--- a/obp-api/src/main/scala/code/customeraddress/CustomerAddress.scala
+++ b/obp-api/src/main/scala/code/customeraddress/CustomerAddress.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customeraddress
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/customeraddress/MappedCustomerAddressProvider.scala b/obp-api/src/main/scala/code/customeraddress/MappedCustomerAddressProvider.scala
index 0a39041462..d2be3312fe 100644
--- a/obp-api/src/main/scala/code/customeraddress/MappedCustomerAddressProvider.scala
+++ b/obp-api/src/main/scala/code/customeraddress/MappedCustomerAddressProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customeraddress
import java.util.Date
diff --git a/obp-api/src/main/scala/code/customerattribute/CustomerAttribute.scala b/obp-api/src/main/scala/code/customerattribute/CustomerAttribute.scala
index 5610025452..5ea720ebb6 100644
--- a/obp-api/src/main/scala/code/customerattribute/CustomerAttribute.scala
+++ b/obp-api/src/main/scala/code/customerattribute/CustomerAttribute.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customerattribute
/* For CustomerAttribute */
diff --git a/obp-api/src/main/scala/code/customerattribute/MappedCustomerAttributeProvider.scala b/obp-api/src/main/scala/code/customerattribute/MappedCustomerAttributeProvider.scala
index 4e2c39c78f..86c9a9d7a1 100644
--- a/obp-api/src/main/scala/code/customerattribute/MappedCustomerAttributeProvider.scala
+++ b/obp-api/src/main/scala/code/customerattribute/MappedCustomerAttributeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customerattribute
import code.util.{AttributeQueryTrait, MappedUUID, UUIDString}
diff --git a/obp-api/src/main/scala/code/customerlinks/CustomerLink.scala b/obp-api/src/main/scala/code/customerlinks/CustomerLink.scala
index 25f657208d..75719c4b38 100644
--- a/obp-api/src/main/scala/code/customerlinks/CustomerLink.scala
+++ b/obp-api/src/main/scala/code/customerlinks/CustomerLink.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customerlinks
import java.util.Date
diff --git a/obp-api/src/main/scala/code/customerlinks/MappedCustomerLink.scala b/obp-api/src/main/scala/code/customerlinks/MappedCustomerLink.scala
index 31ab41c85e..52d006711a 100644
--- a/obp-api/src/main/scala/code/customerlinks/MappedCustomerLink.scala
+++ b/obp-api/src/main/scala/code/customerlinks/MappedCustomerLink.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customerlinks
import java.util.Date
diff --git a/obp-api/src/main/scala/code/directdebit/DirectDebit.scala b/obp-api/src/main/scala/code/directdebit/DirectDebit.scala
index de6457b27e..b0b9f2ecf3 100644
--- a/obp-api/src/main/scala/code/directdebit/DirectDebit.scala
+++ b/obp-api/src/main/scala/code/directdebit/DirectDebit.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.directdebit
import java.util.Date
diff --git a/obp-api/src/main/scala/code/directdebit/MappedDirectDebit.scala b/obp-api/src/main/scala/code/directdebit/MappedDirectDebit.scala
index 4f0b9356fe..eecde3f03f 100644
--- a/obp-api/src/main/scala/code/directdebit/MappedDirectDebit.scala
+++ b/obp-api/src/main/scala/code/directdebit/MappedDirectDebit.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.directdebit
import java.util.Date
diff --git a/obp-api/src/main/scala/code/dynamicEndpoint/DynamicEndpointProvider.scala b/obp-api/src/main/scala/code/dynamicEndpoint/DynamicEndpointProvider.scala
index cf189462ba..98cc609c37 100644
--- a/obp-api/src/main/scala/code/dynamicEndpoint/DynamicEndpointProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicEndpoint/DynamicEndpointProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.DynamicEndpoint
import com.openbankproject.commons.model.{Converter, JsonFieldReName}
diff --git a/obp-api/src/main/scala/code/dynamicEndpoint/MapppedDynamicEndpointProvider.scala b/obp-api/src/main/scala/code/dynamicEndpoint/MapppedDynamicEndpointProvider.scala
index c6ed1189ec..bb6b76e16c 100644
--- a/obp-api/src/main/scala/code/dynamicEndpoint/MapppedDynamicEndpointProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicEndpoint/MapppedDynamicEndpointProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.DynamicEndpoint
import org.json4s._
diff --git a/obp-api/src/main/scala/code/dynamicEntity/DynamicDataAccessProvider.scala b/obp-api/src/main/scala/code/dynamicEntity/DynamicDataAccessProvider.scala
index 3116948354..1eb4d69e2a 100644
--- a/obp-api/src/main/scala/code/dynamicEntity/DynamicDataAccessProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicEntity/DynamicDataAccessProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.DynamicData
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/dynamicEntity/DynamicDataProvider.scala b/obp-api/src/main/scala/code/dynamicEntity/DynamicDataProvider.scala
index f550467dff..4d795ec23e 100644
--- a/obp-api/src/main/scala/code/dynamicEntity/DynamicDataProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicEntity/DynamicDataProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.DynamicData
import org.json4s._
diff --git a/obp-api/src/main/scala/code/dynamicEntity/DynamicEntityProvider.scala b/obp-api/src/main/scala/code/dynamicEntity/DynamicEntityProvider.scala
index 21f591ecab..121e399364 100644
--- a/obp-api/src/main/scala/code/dynamicEntity/DynamicEntityProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicEntity/DynamicEntityProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.dynamicEntity
import java.util.regex.Pattern
diff --git a/obp-api/src/main/scala/code/dynamicEntity/MappedDynamicDataAccessProvider.scala b/obp-api/src/main/scala/code/dynamicEntity/MappedDynamicDataAccessProvider.scala
index 8b3ae80ea3..c5a33d3897 100644
--- a/obp-api/src/main/scala/code/dynamicEntity/MappedDynamicDataAccessProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicEntity/MappedDynamicDataAccessProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.DynamicData
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/dynamicEntity/MapppedDynamicDataProvider.scala b/obp-api/src/main/scala/code/dynamicEntity/MapppedDynamicDataProvider.scala
index 6c8cec37d0..16fe94c064 100644
--- a/obp-api/src/main/scala/code/dynamicEntity/MapppedDynamicDataProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicEntity/MapppedDynamicDataProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.DynamicData
import org.json4s._
diff --git a/obp-api/src/main/scala/code/dynamicEntity/MapppedDynamicEntityProvider.scala b/obp-api/src/main/scala/code/dynamicEntity/MapppedDynamicEntityProvider.scala
index 6bbd341cde..b2110964ce 100644
--- a/obp-api/src/main/scala/code/dynamicEntity/MapppedDynamicEntityProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicEntity/MapppedDynamicEntityProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.dynamicEntity
import code.api.util.CustomJsonFormats
diff --git a/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDoc.scala b/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDoc.scala
index 9e72fe9b07..aac647a20f 100644
--- a/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDoc.scala
+++ b/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDoc.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.dynamicMessageDoc
import org.json4s._
@@ -31,7 +58,7 @@ class DynamicMessageDoc extends LongKeyedMapper[DynamicMessageDoc] with IdPK wit
object CreatedByUserId extends MappedString(this, 255)
object UpdatedByUserId extends MappedString(this, 255)
object MethodBodyHash extends MappedString(this, 64)
- // Maker/checker (see MAKER_CHECKER_DYNAMIC_CODE_DESIGN.md): the runtime only loads this row when
+ // Maker/checker (see docs/MAKER_CHECKER_DYNAMIC_CODE_DESIGN.md): the runtime only loads this row when
// IsActive is true and, when maker/checker is enabled for this target type, when MethodBodyHash
// equals ApprovedHash. ApprovedHash is written only by an approved DynamicChangeRequest (or the
// one-off seeding of pre-existing rows when the feature is first enabled), never from a request body.
diff --git a/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDocProvider.scala b/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDocProvider.scala
index 3f4446e088..c6be207640 100644
--- a/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDocProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicMessageDoc/DynamicMessageDocProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.dynamicMessageDoc
import org.json4s._
diff --git a/obp-api/src/main/scala/code/dynamicMessageDoc/MappedDynamicMessageDocProvider.scala b/obp-api/src/main/scala/code/dynamicMessageDoc/MappedDynamicMessageDocProvider.scala
index 946e89edf3..b23205999d 100644
--- a/obp-api/src/main/scala/code/dynamicMessageDoc/MappedDynamicMessageDocProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicMessageDoc/MappedDynamicMessageDocProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.dynamicMessageDoc
import code.api.cache.Caching
diff --git a/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDoc.scala b/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDoc.scala
index 7f6eb86d85..63d68e88ab 100644
--- a/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDoc.scala
+++ b/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDoc.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.dynamicResourceDoc
import org.json4s._
@@ -31,7 +58,7 @@ class DynamicResourceDoc extends LongKeyedMapper[DynamicResourceDoc] with IdPK w
object CreatedByUserId extends MappedString(this, 255)
object UpdatedByUserId extends MappedString(this, 255)
object MethodBodyHash extends MappedString(this, 64)
- // Maker/checker (see MAKER_CHECKER_DYNAMIC_CODE_DESIGN.md): the runtime only loads this row when
+ // Maker/checker (see docs/MAKER_CHECKER_DYNAMIC_CODE_DESIGN.md): the runtime only loads this row when
// IsActive is true and, when maker/checker is enabled for this target type, when MethodBodyHash
// equals ApprovedHash. ApprovedHash is written only by an approved DynamicChangeRequest (or the
// one-off seeding of pre-existing rows when the feature is first enabled), never from a request body.
diff --git a/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDocProvider.scala b/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDocProvider.scala
index 60e94a243a..b11f4469ab 100644
--- a/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDocProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicResourceDoc/DynamicResourceDocProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.dynamicResourceDoc
import org.json4s._
diff --git a/obp-api/src/main/scala/code/dynamicResourceDoc/MappedDynamicResourceDocProvider.scala b/obp-api/src/main/scala/code/dynamicResourceDoc/MappedDynamicResourceDocProvider.scala
index 47be5d0442..4364a7626a 100644
--- a/obp-api/src/main/scala/code/dynamicResourceDoc/MappedDynamicResourceDocProvider.scala
+++ b/obp-api/src/main/scala/code/dynamicResourceDoc/MappedDynamicResourceDocProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.dynamicResourceDoc
import org.json4s._
diff --git a/obp-api/src/main/scala/code/dynamicchangerequest/DynamicChangeRequest.scala b/obp-api/src/main/scala/code/dynamicchangerequest/DynamicChangeRequest.scala
index 520db7c38c..6ef56618c9 100644
--- a/obp-api/src/main/scala/code/dynamicchangerequest/DynamicChangeRequest.scala
+++ b/obp-api/src/main/scala/code/dynamicchangerequest/DynamicChangeRequest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.dynamicchangerequest
import java.util.Date
diff --git a/obp-api/src/main/scala/code/dynamicchangerequest/DynamicChangeRequestTrait.scala b/obp-api/src/main/scala/code/dynamicchangerequest/DynamicChangeRequestTrait.scala
index d251ca253f..dbcc0e18ed 100644
--- a/obp-api/src/main/scala/code/dynamicchangerequest/DynamicChangeRequestTrait.scala
+++ b/obp-api/src/main/scala/code/dynamicchangerequest/DynamicChangeRequestTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.dynamicchangerequest
import java.util.Date
diff --git a/obp-api/src/main/scala/code/dynamicchangerequest/MakerChecker.scala b/obp-api/src/main/scala/code/dynamicchangerequest/MakerChecker.scala
index 4d7702e2c9..0b8a694419 100644
--- a/obp-api/src/main/scala/code/dynamicchangerequest/MakerChecker.scala
+++ b/obp-api/src/main/scala/code/dynamicchangerequest/MakerChecker.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.dynamicchangerequest
import java.net.URLDecoder
@@ -28,7 +55,7 @@ import org.apache.commons.lang3.StringUtils
import org.json4s.JsonAST.{JArray, JNothing, JObject, JValue}
/**
- * Maker/checker for runtime-supplied code and configuration. Design: MAKER_CHECKER_DYNAMIC_CODE_DESIGN.md.
+ * Maker/checker for runtime-supplied code and configuration. Design: docs/MAKER_CHECKER_DYNAMIC_CODE_DESIGN.md.
*
* Three responsibilities:
* - configuration + hashing (what is managed, what "the same content" means);
diff --git a/obp-api/src/main/scala/code/endpointMapping/EndpointMappingProvider.scala b/obp-api/src/main/scala/code/endpointMapping/EndpointMappingProvider.scala
index ed2ec53270..b717c63235 100644
--- a/obp-api/src/main/scala/code/endpointMapping/EndpointMappingProvider.scala
+++ b/obp-api/src/main/scala/code/endpointMapping/EndpointMappingProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.endpointMapping
/* For Connector endpoint routing, star connector use this provider to find proxy connector name */
diff --git a/obp-api/src/main/scala/code/endpointMapping/MappedEndpointMappingProvider.scala b/obp-api/src/main/scala/code/endpointMapping/MappedEndpointMappingProvider.scala
index e10213ad6d..a4f654bd1d 100644
--- a/obp-api/src/main/scala/code/endpointMapping/MappedEndpointMappingProvider.scala
+++ b/obp-api/src/main/scala/code/endpointMapping/MappedEndpointMappingProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.endpointMapping
import org.json4s._
diff --git a/obp-api/src/main/scala/code/endpointTag/EndpointMappingProvider.scala b/obp-api/src/main/scala/code/endpointTag/EndpointMappingProvider.scala
index 47e25967f1..096600b027 100644
--- a/obp-api/src/main/scala/code/endpointTag/EndpointMappingProvider.scala
+++ b/obp-api/src/main/scala/code/endpointTag/EndpointMappingProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.endpointTag
/* For Connector endpoint routing, star connector use this provider to find proxy connector name */
diff --git a/obp-api/src/main/scala/code/endpointTag/MappedEndpointMappingProvider.scala b/obp-api/src/main/scala/code/endpointTag/MappedEndpointMappingProvider.scala
index d816d245ac..4e87608651 100644
--- a/obp-api/src/main/scala/code/endpointTag/MappedEndpointMappingProvider.scala
+++ b/obp-api/src/main/scala/code/endpointTag/MappedEndpointMappingProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.endpointTag
import code.api.util.CustomJsonFormats
diff --git a/obp-api/src/main/scala/code/entitlement/Entilement.scala b/obp-api/src/main/scala/code/entitlement/Entilement.scala
index 9fbe78ae4d..965f33a0a8 100644
--- a/obp-api/src/main/scala/code/entitlement/Entilement.scala
+++ b/obp-api/src/main/scala/code/entitlement/Entilement.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.entitlement
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/entitlement/MappedEntitlements.scala b/obp-api/src/main/scala/code/entitlement/MappedEntitlements.scala
index 417b97199b..cddde96e5a 100644
--- a/obp-api/src/main/scala/code/entitlement/MappedEntitlements.scala
+++ b/obp-api/src/main/scala/code/entitlement/MappedEntitlements.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.entitlement
import code.api.dynamic.entity.helper.DynamicEntityInfo
diff --git a/obp-api/src/main/scala/code/entitlementrequest/EntilementRequest.scala b/obp-api/src/main/scala/code/entitlementrequest/EntilementRequest.scala
index f20fb53817..e165a6c161 100644
--- a/obp-api/src/main/scala/code/entitlementrequest/EntilementRequest.scala
+++ b/obp-api/src/main/scala/code/entitlementrequest/EntilementRequest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.entitlementrequest
import java.util.Date
diff --git a/obp-api/src/main/scala/code/entitlementrequest/MappedEntitlementRquests.scala b/obp-api/src/main/scala/code/entitlementrequest/MappedEntitlementRquests.scala
index 9c4bbc927f..31c98a6d08 100644
--- a/obp-api/src/main/scala/code/entitlementrequest/MappedEntitlementRquests.scala
+++ b/obp-api/src/main/scala/code/entitlementrequest/MappedEntitlementRquests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.entitlementrequest
import java.util.Date
diff --git a/obp-api/src/main/scala/code/etag/MappedETag.scala b/obp-api/src/main/scala/code/etag/MappedETag.scala
index 9f3d8d4f26..a7ba624240 100644
--- a/obp-api/src/main/scala/code/etag/MappedETag.scala
+++ b/obp-api/src/main/scala/code/etag/MappedETag.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.etag
import net.liftweb.mapper._
diff --git a/obp-api/src/main/scala/code/examplething/MappedThingProvider.scala b/obp-api/src/main/scala/code/examplething/MappedThingProvider.scala
index e4d9e7d681..572a102aab 100644
--- a/obp-api/src/main/scala/code/examplething/MappedThingProvider.scala
+++ b/obp-api/src/main/scala/code/examplething/MappedThingProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.examplething
diff --git a/obp-api/src/main/scala/code/examplething/Thing.scala b/obp-api/src/main/scala/code/examplething/Thing.scala
index 8973371d17..39d355fc08 100644
--- a/obp-api/src/main/scala/code/examplething/Thing.scala
+++ b/obp-api/src/main/scala/code/examplething/Thing.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.examplething
diff --git a/obp-api/src/main/scala/code/featuredapicollection/FeaturedApiCollection.scala b/obp-api/src/main/scala/code/featuredapicollection/FeaturedApiCollection.scala
index 1c33f2c473..e6bae8344f 100644
--- a/obp-api/src/main/scala/code/featuredapicollection/FeaturedApiCollection.scala
+++ b/obp-api/src/main/scala/code/featuredapicollection/FeaturedApiCollection.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.featuredapicollection
import code.util.MappedUUID
diff --git a/obp-api/src/main/scala/code/featuredapicollection/FeaturedApiCollectionsProvider.scala b/obp-api/src/main/scala/code/featuredapicollection/FeaturedApiCollectionsProvider.scala
index f06ee57721..d87b0275e9 100644
--- a/obp-api/src/main/scala/code/featuredapicollection/FeaturedApiCollectionsProvider.scala
+++ b/obp-api/src/main/scala/code/featuredapicollection/FeaturedApiCollectionsProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.featuredapicollection
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/main/scala/code/fx/MappedCurrency.scala b/obp-api/src/main/scala/code/fx/MappedCurrency.scala
index dde03c13d4..1feddce972 100644
--- a/obp-api/src/main/scala/code/fx/MappedCurrency.scala
+++ b/obp-api/src/main/scala/code/fx/MappedCurrency.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.fx
import net.liftweb.mapper._
diff --git a/obp-api/src/main/scala/code/fx/MappedFXRate.scala b/obp-api/src/main/scala/code/fx/MappedFXRate.scala
index 75f7bd2235..5395f74e45 100644
--- a/obp-api/src/main/scala/code/fx/MappedFXRate.scala
+++ b/obp-api/src/main/scala/code/fx/MappedFXRate.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.fx
import java.util.Date
diff --git a/obp-api/src/main/scala/code/fx/fx.scala b/obp-api/src/main/scala/code/fx/fx.scala
index 6710a62c5e..ee372938c6 100644
--- a/obp-api/src/main/scala/code/fx/fx.scala
+++ b/obp-api/src/main/scala/code/fx/fx.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.fx
import java.util.UUID.randomUUID
diff --git a/obp-api/src/main/scala/code/glossaryitem/DynamicGlossaryItem.scala b/obp-api/src/main/scala/code/glossaryitem/DynamicGlossaryItem.scala
index 68808baf77..405e20cc9c 100644
--- a/obp-api/src/main/scala/code/glossaryitem/DynamicGlossaryItem.scala
+++ b/obp-api/src/main/scala/code/glossaryitem/DynamicGlossaryItem.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.glossaryitem
import code.util.MappedUUID
diff --git a/obp-api/src/main/scala/code/glossaryitem/DynamicGlossaryItemTrait.scala b/obp-api/src/main/scala/code/glossaryitem/DynamicGlossaryItemTrait.scala
index 2560d4fa25..71a26c9293 100644
--- a/obp-api/src/main/scala/code/glossaryitem/DynamicGlossaryItemTrait.scala
+++ b/obp-api/src/main/scala/code/glossaryitem/DynamicGlossaryItemTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.glossaryitem
import net.liftweb.common.Box
@@ -13,7 +40,7 @@ object DynamicGlossaryItems extends SimpleInjector {
/**
* Dynamic Glossary Items are Glossary Items held in the database and maintained over the
- * /glossary-items endpoints, as opposed to the static ones compiled into Glossary.scala.
+ * /api/glossary endpoints, as opposed to the static ones compiled into Glossary.scala.
*
* Title is the resource key and is unique case insensitively, matching the way the static
* Glossary is looked up.
diff --git a/obp-api/src/main/scala/code/group/Group.scala b/obp-api/src/main/scala/code/group/Group.scala
index 81bead6160..7348410d7a 100644
--- a/obp-api/src/main/scala/code/group/Group.scala
+++ b/obp-api/src/main/scala/code/group/Group.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.group
import code.util.MappedUUID
diff --git a/obp-api/src/main/scala/code/group/GroupTrait.scala b/obp-api/src/main/scala/code/group/GroupTrait.scala
index cc318cbb67..74bf5a5cff 100644
--- a/obp-api/src/main/scala/code/group/GroupTrait.scala
+++ b/obp-api/src/main/scala/code/group/GroupTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.group
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/investigation/DoobieInvestigationQueries.scala b/obp-api/src/main/scala/code/investigation/DoobieInvestigationQueries.scala
index 21f5aa6ce1..8c0b5d8e01 100644
--- a/obp-api/src/main/scala/code/investigation/DoobieInvestigationQueries.scala
+++ b/obp-api/src/main/scala/code/investigation/DoobieInvestigationQueries.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.investigation
import java.sql.Timestamp
diff --git a/obp-api/src/main/scala/code/kyccheck/KycCheck.scala b/obp-api/src/main/scala/code/kyccheck/KycCheck.scala
index 80b4858f94..377149d2fb 100644
--- a/obp-api/src/main/scala/code/kyccheck/KycCheck.scala
+++ b/obp-api/src/main/scala/code/kyccheck/KycCheck.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.kycchecks
import java.util.Date
diff --git a/obp-api/src/main/scala/code/kyccheck/MappedKycChecksProvider.scala b/obp-api/src/main/scala/code/kyccheck/MappedKycChecksProvider.scala
index 11fedbb653..072108a90b 100644
--- a/obp-api/src/main/scala/code/kyccheck/MappedKycChecksProvider.scala
+++ b/obp-api/src/main/scala/code/kyccheck/MappedKycChecksProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.kycchecks
import java.util.Date
diff --git a/obp-api/src/main/scala/code/kycdocuments/KycDocuments.scala b/obp-api/src/main/scala/code/kycdocuments/KycDocuments.scala
index dd9ef39950..d6bf2e5fc5 100644
--- a/obp-api/src/main/scala/code/kycdocuments/KycDocuments.scala
+++ b/obp-api/src/main/scala/code/kycdocuments/KycDocuments.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.kycdocuments
import java.util.Date
diff --git a/obp-api/src/main/scala/code/kycdocuments/MappedKycDocumentsProvider.scala b/obp-api/src/main/scala/code/kycdocuments/MappedKycDocumentsProvider.scala
index 43c1e28918..f146fb1194 100644
--- a/obp-api/src/main/scala/code/kycdocuments/MappedKycDocumentsProvider.scala
+++ b/obp-api/src/main/scala/code/kycdocuments/MappedKycDocumentsProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.kycdocuments
import java.util.Date
diff --git a/obp-api/src/main/scala/code/kycmedia/KycMedia.scala b/obp-api/src/main/scala/code/kycmedia/KycMedia.scala
index 38f70864e9..e78c323858 100644
--- a/obp-api/src/main/scala/code/kycmedia/KycMedia.scala
+++ b/obp-api/src/main/scala/code/kycmedia/KycMedia.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.kycmedias
import java.util.Date
diff --git a/obp-api/src/main/scala/code/kycmedia/MappedKycMediasProvider.scala b/obp-api/src/main/scala/code/kycmedia/MappedKycMediasProvider.scala
index faea827a9b..ff1a9565d5 100644
--- a/obp-api/src/main/scala/code/kycmedia/MappedKycMediasProvider.scala
+++ b/obp-api/src/main/scala/code/kycmedia/MappedKycMediasProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.kycmedias
import java.util.Date
diff --git a/obp-api/src/main/scala/code/kycstatus/KycStatus.scala b/obp-api/src/main/scala/code/kycstatus/KycStatus.scala
index 1e93c80274..4bef6e5f09 100644
--- a/obp-api/src/main/scala/code/kycstatus/KycStatus.scala
+++ b/obp-api/src/main/scala/code/kycstatus/KycStatus.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.kycstatuses
import java.util.Date
diff --git a/obp-api/src/main/scala/code/kycstatus/MappedKycStatusesProvider.scala b/obp-api/src/main/scala/code/kycstatus/MappedKycStatusesProvider.scala
index 131256c229..a4f524ae76 100644
--- a/obp-api/src/main/scala/code/kycstatus/MappedKycStatusesProvider.scala
+++ b/obp-api/src/main/scala/code/kycstatus/MappedKycStatusesProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.kycstatuses
import java.util.Date
diff --git a/obp-api/src/main/scala/code/logcache/LogCacheEventBus.scala b/obp-api/src/main/scala/code/logcache/LogCacheEventBus.scala
index 818d956386..4fdb382782 100644
--- a/obp-api/src/main/scala/code/logcache/LogCacheEventBus.scala
+++ b/obp-api/src/main/scala/code/logcache/LogCacheEventBus.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.logcache
import code.api.cache.{Redis, RedisLogger}
diff --git a/obp-api/src/main/scala/code/loginattempts/LoginAttempts.scala b/obp-api/src/main/scala/code/loginattempts/LoginAttempts.scala
index 03a918e4c2..1979a38d94 100644
--- a/obp-api/src/main/scala/code/loginattempts/LoginAttempts.scala
+++ b/obp-api/src/main/scala/code/loginattempts/LoginAttempts.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.loginattempts
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/loginattempts/MappedBadLoginAttempt.scala b/obp-api/src/main/scala/code/loginattempts/MappedBadLoginAttempt.scala
index 757c5cb6b3..0736aaf8c7 100644
--- a/obp-api/src/main/scala/code/loginattempts/MappedBadLoginAttempt.scala
+++ b/obp-api/src/main/scala/code/loginattempts/MappedBadLoginAttempt.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.loginattempts
import java.util.Date
diff --git a/obp-api/src/main/scala/code/mandate/MandateTrait.scala b/obp-api/src/main/scala/code/mandate/MandateTrait.scala
index 896be04b84..bfed48eae8 100644
--- a/obp-api/src/main/scala/code/mandate/MandateTrait.scala
+++ b/obp-api/src/main/scala/code/mandate/MandateTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.mandate
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/meetings/MappedMeetingProvider.scala b/obp-api/src/main/scala/code/meetings/MappedMeetingProvider.scala
index 8b275d65d6..7a8a165d63 100644
--- a/obp-api/src/main/scala/code/meetings/MappedMeetingProvider.scala
+++ b/obp-api/src/main/scala/code/meetings/MappedMeetingProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.meetings
import java.util.Date
diff --git a/obp-api/src/main/scala/code/meetings/Meetings.scala b/obp-api/src/main/scala/code/meetings/Meetings.scala
index c3764158d8..16c3f5e285 100644
--- a/obp-api/src/main/scala/code/meetings/Meetings.scala
+++ b/obp-api/src/main/scala/code/meetings/Meetings.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.meetings
import java.util.Date
diff --git a/obp-api/src/main/scala/code/messageoutbox/MessageOutbox.scala b/obp-api/src/main/scala/code/messageoutbox/MessageOutbox.scala
index 33b94baad2..0828e106f5 100644
--- a/obp-api/src/main/scala/code/messageoutbox/MessageOutbox.scala
+++ b/obp-api/src/main/scala/code/messageoutbox/MessageOutbox.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.messageoutbox
import net.liftweb.mapper._
diff --git a/obp-api/src/main/scala/code/messageoutbox/MessageOutboxRelay.scala b/obp-api/src/main/scala/code/messageoutbox/MessageOutboxRelay.scala
index d6b20dff72..525c2ed6a7 100644
--- a/obp-api/src/main/scala/code/messageoutbox/MessageOutboxRelay.scala
+++ b/obp-api/src/main/scala/code/messageoutbox/MessageOutboxRelay.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.messageoutbox
import code.actorsystem.ObpActorSystem
diff --git a/obp-api/src/main/scala/code/metadata/comments/Comments.scala b/obp-api/src/main/scala/code/metadata/comments/Comments.scala
index c7f2d701aa..31a392e678 100644
--- a/obp-api/src/main/scala/code/metadata/comments/Comments.scala
+++ b/obp-api/src/main/scala/code/metadata/comments/Comments.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metadata.comments
import java.util.Date
diff --git a/obp-api/src/main/scala/code/metadata/comments/MappedComment.scala b/obp-api/src/main/scala/code/metadata/comments/MappedComment.scala
index 0c9bbaf54f..e00286344c 100644
--- a/obp-api/src/main/scala/code/metadata/comments/MappedComment.scala
+++ b/obp-api/src/main/scala/code/metadata/comments/MappedComment.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metadata.comments
import java.util.{Date, UUID}
diff --git a/obp-api/src/main/scala/code/metadata/counterparties/Counterparties.scala b/obp-api/src/main/scala/code/metadata/counterparties/Counterparties.scala
index 6a70a0989f..c88a30b9ab 100644
--- a/obp-api/src/main/scala/code/metadata/counterparties/Counterparties.scala
+++ b/obp-api/src/main/scala/code/metadata/counterparties/Counterparties.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metadata.counterparties
import java.util.Date
diff --git a/obp-api/src/main/scala/code/metadata/counterparties/CounterpartyBespokes.scala b/obp-api/src/main/scala/code/metadata/counterparties/CounterpartyBespokes.scala
index fe5a9e8011..798bac981c 100644
--- a/obp-api/src/main/scala/code/metadata/counterparties/CounterpartyBespokes.scala
+++ b/obp-api/src/main/scala/code/metadata/counterparties/CounterpartyBespokes.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metadata.counterparties
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/metadata/counterparties/MapperCounterparties.scala b/obp-api/src/main/scala/code/metadata/counterparties/MapperCounterparties.scala
index a58de6d018..0b5878fbc7 100644
--- a/obp-api/src/main/scala/code/metadata/counterparties/MapperCounterparties.scala
+++ b/obp-api/src/main/scala/code/metadata/counterparties/MapperCounterparties.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metadata.counterparties
import code.api.cache.Caching
diff --git a/obp-api/src/main/scala/code/metadata/counterparties/MapperCounterpartyBespoke.scala b/obp-api/src/main/scala/code/metadata/counterparties/MapperCounterpartyBespoke.scala
index 0f08a0821e..16749c2543 100644
--- a/obp-api/src/main/scala/code/metadata/counterparties/MapperCounterpartyBespoke.scala
+++ b/obp-api/src/main/scala/code/metadata/counterparties/MapperCounterpartyBespoke.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metadata.counterparties
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/main/scala/code/metadata/narrative/MappedNarratives.scala b/obp-api/src/main/scala/code/metadata/narrative/MappedNarratives.scala
index 02164e7711..7510d36c6a 100644
--- a/obp-api/src/main/scala/code/metadata/narrative/MappedNarratives.scala
+++ b/obp-api/src/main/scala/code/metadata/narrative/MappedNarratives.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metadata.narrative
import code.util.{AccountIdString, UUIDString}
diff --git a/obp-api/src/main/scala/code/metadata/narrative/Narrative.scala b/obp-api/src/main/scala/code/metadata/narrative/Narrative.scala
index e9b8f98221..4d028e8c18 100644
--- a/obp-api/src/main/scala/code/metadata/narrative/Narrative.scala
+++ b/obp-api/src/main/scala/code/metadata/narrative/Narrative.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metadata.narrative
import com.openbankproject.commons.model.{AccountId, BankId, TransactionId}
diff --git a/obp-api/src/main/scala/code/metadata/tags/MappedTags.scala b/obp-api/src/main/scala/code/metadata/tags/MappedTags.scala
index 9fed3f15de..b1fab6eb62 100644
--- a/obp-api/src/main/scala/code/metadata/tags/MappedTags.scala
+++ b/obp-api/src/main/scala/code/metadata/tags/MappedTags.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metadata.tags
import java.util.Date
diff --git a/obp-api/src/main/scala/code/metadata/tags/Tags.scala b/obp-api/src/main/scala/code/metadata/tags/Tags.scala
index be4659482b..9a17f8f7f0 100644
--- a/obp-api/src/main/scala/code/metadata/tags/Tags.scala
+++ b/obp-api/src/main/scala/code/metadata/tags/Tags.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metadata.tags
import java.util.Date
diff --git a/obp-api/src/main/scala/code/metadata/transactionimages/MapperTransactionImages.scala b/obp-api/src/main/scala/code/metadata/transactionimages/MapperTransactionImages.scala
index 2cf51324ec..863f50cce4 100644
--- a/obp-api/src/main/scala/code/metadata/transactionimages/MapperTransactionImages.scala
+++ b/obp-api/src/main/scala/code/metadata/transactionimages/MapperTransactionImages.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metadata.transactionimages
import java.net.URL
diff --git a/obp-api/src/main/scala/code/metadata/transactionimages/TransactionImages.scala b/obp-api/src/main/scala/code/metadata/transactionimages/TransactionImages.scala
index 05b7bd9f39..b238de97cc 100644
--- a/obp-api/src/main/scala/code/metadata/transactionimages/TransactionImages.scala
+++ b/obp-api/src/main/scala/code/metadata/transactionimages/TransactionImages.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metadata.transactionimages
import java.util.Date
diff --git a/obp-api/src/main/scala/code/metadata/wheretags/MapperWhereTags.scala b/obp-api/src/main/scala/code/metadata/wheretags/MapperWhereTags.scala
index 8e35c58329..93af17d33c 100644
--- a/obp-api/src/main/scala/code/metadata/wheretags/MapperWhereTags.scala
+++ b/obp-api/src/main/scala/code/metadata/wheretags/MapperWhereTags.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metadata.wheretags
import java.util.Date
diff --git a/obp-api/src/main/scala/code/metadata/wheretags/WhereTags.scala b/obp-api/src/main/scala/code/metadata/wheretags/WhereTags.scala
index 2ce40b0597..eaebbae119 100644
--- a/obp-api/src/main/scala/code/metadata/wheretags/WhereTags.scala
+++ b/obp-api/src/main/scala/code/metadata/wheretags/WhereTags.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metadata.wheretags
import java.util.Date
diff --git a/obp-api/src/main/scala/code/methodrouting/MappedMethodRoutingProvider.scala b/obp-api/src/main/scala/code/methodrouting/MappedMethodRoutingProvider.scala
index 96ed77c1bb..c923b9d67a 100644
--- a/obp-api/src/main/scala/code/methodrouting/MappedMethodRoutingProvider.scala
+++ b/obp-api/src/main/scala/code/methodrouting/MappedMethodRoutingProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.methodrouting
import org.json4s._
diff --git a/obp-api/src/main/scala/code/methodrouting/MethodRoutingProvider.scala b/obp-api/src/main/scala/code/methodrouting/MethodRoutingProvider.scala
index ba0dcb5690..190a775171 100644
--- a/obp-api/src/main/scala/code/methodrouting/MethodRoutingProvider.scala
+++ b/obp-api/src/main/scala/code/methodrouting/MethodRoutingProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.methodrouting
/* For Connector method routing, star connector use this provider to find proxy connector name */
diff --git a/obp-api/src/main/scala/code/metrics/APIMetrics.scala b/obp-api/src/main/scala/code/metrics/APIMetrics.scala
index ea87f9cb76..6a50727b24 100644
--- a/obp-api/src/main/scala/code/metrics/APIMetrics.scala
+++ b/obp-api/src/main/scala/code/metrics/APIMetrics.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metrics
import java.util.{Calendar, Date}
diff --git a/obp-api/src/main/scala/code/metrics/ConnectorMetricBatchWriter.scala b/obp-api/src/main/scala/code/metrics/ConnectorMetricBatchWriter.scala
index 58a6de3d27..9fc8655eb7 100644
--- a/obp-api/src/main/scala/code/metrics/ConnectorMetricBatchWriter.scala
+++ b/obp-api/src/main/scala/code/metrics/ConnectorMetricBatchWriter.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metrics
import java.sql.Timestamp
diff --git a/obp-api/src/main/scala/code/metrics/ConnectorMetrics.scala b/obp-api/src/main/scala/code/metrics/ConnectorMetrics.scala
index 97087cdc02..f5e7dfcc0c 100644
--- a/obp-api/src/main/scala/code/metrics/ConnectorMetrics.scala
+++ b/obp-api/src/main/scala/code/metrics/ConnectorMetrics.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metrics
import java.util.Date
diff --git a/obp-api/src/main/scala/code/metrics/ConnectorMetricsProvider.scala b/obp-api/src/main/scala/code/metrics/ConnectorMetricsProvider.scala
index 6c8e9dd2b8..09dd92a81b 100644
--- a/obp-api/src/main/scala/code/metrics/ConnectorMetricsProvider.scala
+++ b/obp-api/src/main/scala/code/metrics/ConnectorMetricsProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metrics
import java.util.{Calendar, Date}
diff --git a/obp-api/src/main/scala/code/metrics/ConnectorMetricsRedis.scala b/obp-api/src/main/scala/code/metrics/ConnectorMetricsRedis.scala
index eed109f416..23ef2e3aa4 100644
--- a/obp-api/src/main/scala/code/metrics/ConnectorMetricsRedis.scala
+++ b/obp-api/src/main/scala/code/metrics/ConnectorMetricsRedis.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metrics
import code.api.Constant._
diff --git a/obp-api/src/main/scala/code/metrics/ConnectorTrace.scala b/obp-api/src/main/scala/code/metrics/ConnectorTrace.scala
index c19f1c4cd5..e053538c33 100644
--- a/obp-api/src/main/scala/code/metrics/ConnectorTrace.scala
+++ b/obp-api/src/main/scala/code/metrics/ConnectorTrace.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metrics
import java.util.Date
diff --git a/obp-api/src/main/scala/code/metrics/DoobieMetricsQueries.scala b/obp-api/src/main/scala/code/metrics/DoobieMetricsQueries.scala
index b9f4ef39a7..4519dcda29 100644
--- a/obp-api/src/main/scala/code/metrics/DoobieMetricsQueries.scala
+++ b/obp-api/src/main/scala/code/metrics/DoobieMetricsQueries.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metrics
import cats.effect.IO
diff --git a/obp-api/src/main/scala/code/metrics/ElasticsearchMetrics.scala b/obp-api/src/main/scala/code/metrics/ElasticsearchMetrics.scala
index 925cb6abed..3ceb187362 100644
--- a/obp-api/src/main/scala/code/metrics/ElasticsearchMetrics.scala
+++ b/obp-api/src/main/scala/code/metrics/ElasticsearchMetrics.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metrics
import java.util.Date
diff --git a/obp-api/src/main/scala/code/metrics/MappedMetrics.scala b/obp-api/src/main/scala/code/metrics/MappedMetrics.scala
index acb8fb654a..12288848c9 100644
--- a/obp-api/src/main/scala/code/metrics/MappedMetrics.scala
+++ b/obp-api/src/main/scala/code/metrics/MappedMetrics.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metrics
import java.sql.{PreparedStatement, Timestamp}
diff --git a/obp-api/src/main/scala/code/metrics/MetricBatchWriter.scala b/obp-api/src/main/scala/code/metrics/MetricBatchWriter.scala
index 36107eafe1..aa348db284 100644
--- a/obp-api/src/main/scala/code/metrics/MetricBatchWriter.scala
+++ b/obp-api/src/main/scala/code/metrics/MetricBatchWriter.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metrics
import java.sql.Timestamp
diff --git a/obp-api/src/main/scala/code/metrics/MetricsArchiveRun.scala b/obp-api/src/main/scala/code/metrics/MetricsArchiveRun.scala
index 9dcde6eeea..90cba68fc9 100644
--- a/obp-api/src/main/scala/code/metrics/MetricsArchiveRun.scala
+++ b/obp-api/src/main/scala/code/metrics/MetricsArchiveRun.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metrics
import java.util.Date
diff --git a/obp-api/src/main/scala/code/metrics/MetricsProps.scala b/obp-api/src/main/scala/code/metrics/MetricsProps.scala
index 2580eefd7b..6047dee126 100644
--- a/obp-api/src/main/scala/code/metrics/MetricsProps.scala
+++ b/obp-api/src/main/scala/code/metrics/MetricsProps.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metrics
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/metricsstream/MetricsEventBus.scala b/obp-api/src/main/scala/code/metricsstream/MetricsEventBus.scala
index db7582a8e1..e59c71a805 100644
--- a/obp-api/src/main/scala/code/metricsstream/MetricsEventBus.scala
+++ b/obp-api/src/main/scala/code/metricsstream/MetricsEventBus.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metricsstream
import code.api.cache.Redis
diff --git a/obp-api/src/main/scala/code/migration/MappedMigrationScriptLogProvider.scala b/obp-api/src/main/scala/code/migration/MappedMigrationScriptLogProvider.scala
index 7d7249c4a6..cac734749b 100644
--- a/obp-api/src/main/scala/code/migration/MappedMigrationScriptLogProvider.scala
+++ b/obp-api/src/main/scala/code/migration/MappedMigrationScriptLogProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.migration
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/main/scala/code/migration/MigrationScriptLog.scala b/obp-api/src/main/scala/code/migration/MigrationScriptLog.scala
index 96284db8c5..78764f8bde 100644
--- a/obp-api/src/main/scala/code/migration/MigrationScriptLog.scala
+++ b/obp-api/src/main/scala/code/migration/MigrationScriptLog.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.migration
import code.util.MappedUUID
diff --git a/obp-api/src/main/scala/code/migration/MigrationScriptLogProvider.scala b/obp-api/src/main/scala/code/migration/MigrationScriptLogProvider.scala
index 334c556a6d..79dd744950 100644
--- a/obp-api/src/main/scala/code/migration/MigrationScriptLogProvider.scala
+++ b/obp-api/src/main/scala/code/migration/MigrationScriptLogProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.migration
import net.liftweb.util.SimpleInjector
diff --git a/obp-api/src/main/scala/code/migration/MigrationScriptLogTrait.scala b/obp-api/src/main/scala/code/migration/MigrationScriptLogTrait.scala
index 55c2eb0a1a..7cf46d7319 100644
--- a/obp-api/src/main/scala/code/migration/MigrationScriptLogTrait.scala
+++ b/obp-api/src/main/scala/code/migration/MigrationScriptLogTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.migration
trait MigrationScriptLogTrait {
diff --git a/obp-api/src/main/scala/code/model/dataAccess/BankAccountRouting.scala b/obp-api/src/main/scala/code/model/dataAccess/BankAccountRouting.scala
index 78af6c1e7c..a9756828f4 100644
--- a/obp-api/src/main/scala/code/model/dataAccess/BankAccountRouting.scala
+++ b/obp-api/src/main/scala/code/model/dataAccess/BankAccountRouting.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.model.dataAccess
import code.util.{AccountIdString, UUIDString}
diff --git a/obp-api/src/main/scala/code/model/dataAccess/DoubleEntryBookTransaction.scala b/obp-api/src/main/scala/code/model/dataAccess/DoubleEntryBookTransaction.scala
index 28ce6cc74a..b36346df62 100644
--- a/obp-api/src/main/scala/code/model/dataAccess/DoubleEntryBookTransaction.scala
+++ b/obp-api/src/main/scala/code/model/dataAccess/DoubleEntryBookTransaction.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.model.dataAccess
import code.util.{AccountIdString, UUIDString}
diff --git a/obp-api/src/main/scala/code/model/dataAccess/MappedBank.scala b/obp-api/src/main/scala/code/model/dataAccess/MappedBank.scala
index b6888c5cce..db24cdb9b9 100644
--- a/obp-api/src/main/scala/code/model/dataAccess/MappedBank.scala
+++ b/obp-api/src/main/scala/code/model/dataAccess/MappedBank.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.model.dataAccess
import com.openbankproject.commons.model.{Bank, BankId}
diff --git a/obp-api/src/main/scala/code/model/dataAccess/MappedBankAccount.scala b/obp-api/src/main/scala/code/model/dataAccess/MappedBankAccount.scala
index 8ba8c4bda0..e75f73758d 100644
--- a/obp-api/src/main/scala/code/model/dataAccess/MappedBankAccount.scala
+++ b/obp-api/src/main/scala/code/model/dataAccess/MappedBankAccount.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.model.dataAccess
import java.util.Date
diff --git a/obp-api/src/main/scala/code/model/dataAccess/MappedBankAccountData.scala b/obp-api/src/main/scala/code/model/dataAccess/MappedBankAccountData.scala
index dfdd134694..78a15672c2 100644
--- a/obp-api/src/main/scala/code/model/dataAccess/MappedBankAccountData.scala
+++ b/obp-api/src/main/scala/code/model/dataAccess/MappedBankAccountData.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.model.dataAccess
import net.liftweb.mapper._
diff --git a/obp-api/src/main/scala/code/model/dataAccess/internalMapping/AccountIdMapping.scala b/obp-api/src/main/scala/code/model/dataAccess/internalMapping/AccountIdMapping.scala
index b721af7190..3cda7044f4 100644
--- a/obp-api/src/main/scala/code/model/dataAccess/internalMapping/AccountIdMapping.scala
+++ b/obp-api/src/main/scala/code/model/dataAccess/internalMapping/AccountIdMapping.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.model.dataAccess.internalMapping
import code.util.MappedUUID
diff --git a/obp-api/src/main/scala/code/model/dataAccess/internalMapping/AccountIdMappingProvider.scala b/obp-api/src/main/scala/code/model/dataAccess/internalMapping/AccountIdMappingProvider.scala
index 56c0786bb9..2c720bb71e 100644
--- a/obp-api/src/main/scala/code/model/dataAccess/internalMapping/AccountIdMappingProvider.scala
+++ b/obp-api/src/main/scala/code/model/dataAccess/internalMapping/AccountIdMappingProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.model.dataAccess.internalMapping
import com.openbankproject.commons.model.{BankId, AccountId}
diff --git a/obp-api/src/main/scala/code/model/dataAccess/internalMapping/AccountIdMappingT.scala b/obp-api/src/main/scala/code/model/dataAccess/internalMapping/AccountIdMappingT.scala
index 122b2572e9..b55d4116e6 100644
--- a/obp-api/src/main/scala/code/model/dataAccess/internalMapping/AccountIdMappingT.scala
+++ b/obp-api/src/main/scala/code/model/dataAccess/internalMapping/AccountIdMappingT.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.model.dataAccess.internalMapping
import com.openbankproject.commons.model.AccountId
diff --git a/obp-api/src/main/scala/code/model/dataAccess/internalMapping/MappedAccountIdMappingProvider.scala b/obp-api/src/main/scala/code/model/dataAccess/internalMapping/MappedAccountIdMappingProvider.scala
index 7c4aa95cc0..a24c05bfed 100644
--- a/obp-api/src/main/scala/code/model/dataAccess/internalMapping/MappedAccountIdMappingProvider.scala
+++ b/obp-api/src/main/scala/code/model/dataAccess/internalMapping/MappedAccountIdMappingProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.model.dataAccess.internalMapping
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/main/scala/code/model/package.scala b/obp-api/src/main/scala/code/model/package.scala
index 4f2626c131..138cdedfe8 100644
--- a/obp-api/src/main/scala/code/model/package.scala
+++ b/obp-api/src/main/scala/code/model/package.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code
import scala.language.implicitConversions
diff --git a/obp-api/src/main/scala/code/nonce/NonceProvider.scala b/obp-api/src/main/scala/code/nonce/NonceProvider.scala
index c8d4f2c359..676eaca756 100644
--- a/obp-api/src/main/scala/code/nonce/NonceProvider.scala
+++ b/obp-api/src/main/scala/code/nonce/NonceProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.nonce
import java.util.Date
diff --git a/obp-api/src/main/scala/code/obp/grpc/Client.scala b/obp-api/src/main/scala/code/obp/grpc/Client.scala
index d51ba17eb7..f9f3aed422 100644
--- a/obp-api/src/main/scala/code/obp/grpc/Client.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/Client.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.obp.grpc
import scala.language.existentials
diff --git a/obp-api/src/main/scala/code/obp/grpc/ObpGrpcServer.scala b/obp-api/src/main/scala/code/obp/grpc/ObpGrpcServer.scala
index 7372cfe33e..339de29f1d 100644
--- a/obp-api/src/main/scala/code/obp/grpc/ObpGrpcServer.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/ObpGrpcServer.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.obp.grpc
import org.json4s._
diff --git a/obp-api/src/main/scala/code/obp/grpc/api/ObpServiceGrpc.scala b/obp-api/src/main/scala/code/obp/grpc/api/ObpServiceGrpc.scala
index 46bc8d4bba..843baf533c 100644
--- a/obp-api/src/main/scala/code/obp/grpc/api/ObpServiceGrpc.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/api/ObpServiceGrpc.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.obp.grpc.api
object ObpServiceGrpc {
diff --git a/obp-api/src/main/scala/code/obp/grpc/chat/AuthInterceptor.scala b/obp-api/src/main/scala/code/obp/grpc/chat/AuthInterceptor.scala
index da41a5ec64..e5cfb3c122 100644
--- a/obp-api/src/main/scala/code/obp/grpc/chat/AuthInterceptor.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/chat/AuthInterceptor.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.obp.grpc.chat
import code.api.util.{APIUtil, AuthHeaderParser, CallContext}
diff --git a/obp-api/src/main/scala/code/obp/grpc/chat/ChatStreamServiceImpl.scala b/obp-api/src/main/scala/code/obp/grpc/chat/ChatStreamServiceImpl.scala
index 8c016d3734..bed5363e2b 100644
--- a/obp-api/src/main/scala/code/obp/grpc/chat/ChatStreamServiceImpl.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/chat/ChatStreamServiceImpl.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.obp.grpc.chat
import org.json4s._
diff --git a/obp-api/src/main/scala/code/obp/grpc/chat/api/ChatProto.scala b/obp-api/src/main/scala/code/obp/grpc/chat/api/ChatProto.scala
index e24b39e814..4ea27fc327 100644
--- a/obp-api/src/main/scala/code/obp/grpc/chat/api/ChatProto.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/chat/api/ChatProto.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.obp.grpc.chat.api
import com.google.protobuf.DescriptorProtos._
diff --git a/obp-api/src/main/scala/code/obp/grpc/logcache/LogCacheStreamServiceImpl.scala b/obp-api/src/main/scala/code/obp/grpc/logcache/LogCacheStreamServiceImpl.scala
index 3e2e541306..ad337dc20e 100644
--- a/obp-api/src/main/scala/code/obp/grpc/logcache/LogCacheStreamServiceImpl.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/logcache/LogCacheStreamServiceImpl.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.obp.grpc.logcache
import org.json4s._
diff --git a/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogCacheEntry.scala b/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogCacheEntry.scala
index fa8437f993..e4352b62c1 100644
--- a/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogCacheEntry.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogCacheEntry.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer (see chat/api/ChatMessageEvent.scala). No protoc plugin is
// wired into the Maven build.
diff --git a/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogCacheProto.scala b/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogCacheProto.scala
index 1f3f1c7cdb..55b0c1e40d 100644
--- a/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogCacheProto.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogCacheProto.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.obp.grpc.logcache.api
import com.google.protobuf.DescriptorProtos._
diff --git a/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogCacheStreamServiceGrpc.scala b/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogCacheStreamServiceGrpc.scala
index 89d25021c5..412c934c57 100644
--- a/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogCacheStreamServiceGrpc.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogCacheStreamServiceGrpc.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer (see chat/api/ChatStreamServiceGrpc.scala). No protoc plugin
// is wired into the Maven build.
diff --git a/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogLevel.scala b/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogLevel.scala
index 5348f04af7..a25cf1fb45 100644
--- a/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogLevel.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/logcache/api/LogLevel.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.obp.grpc.logcache.api
import code.api.cache.RedisLogger
diff --git a/obp-api/src/main/scala/code/obp/grpc/logcache/api/StreamLogCacheRequest.scala b/obp-api/src/main/scala/code/obp/grpc/logcache/api/StreamLogCacheRequest.scala
index 3011bff6bb..c58622f3d4 100644
--- a/obp-api/src/main/scala/code/obp/grpc/logcache/api/StreamLogCacheRequest.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/logcache/api/StreamLogCacheRequest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer (see chat/api/StreamMessagesRequest.scala). No protoc plugin is
// wired into the Maven build.
diff --git a/obp-api/src/main/scala/code/obp/grpc/metricsstream/MetricsStreamServiceImpl.scala b/obp-api/src/main/scala/code/obp/grpc/metricsstream/MetricsStreamServiceImpl.scala
index 104b425f53..ed3324928f 100644
--- a/obp-api/src/main/scala/code/obp/grpc/metricsstream/MetricsStreamServiceImpl.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/metricsstream/MetricsStreamServiceImpl.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.obp.grpc.metricsstream
import org.json4s._
diff --git a/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/MetricEvent.scala b/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/MetricEvent.scala
index 630e1d8e5a..b16d99a6c5 100644
--- a/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/MetricEvent.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/MetricEvent.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer. No protoc plugin is wired into the Maven build.
//
diff --git a/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/MetricsStreamProto.scala b/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/MetricsStreamProto.scala
index 9e8f0e5d40..88a98659ec 100644
--- a/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/MetricsStreamProto.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/MetricsStreamProto.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.obp.grpc.metricsstream.api
import com.google.protobuf.DescriptorProtos._
diff --git a/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/MetricsStreamServiceGrpc.scala b/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/MetricsStreamServiceGrpc.scala
index 37bb115451..59a5b44c7d 100644
--- a/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/MetricsStreamServiceGrpc.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/MetricsStreamServiceGrpc.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer. No protoc plugin is wired into the Maven build.
//
diff --git a/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/StreamMetricsRequest.scala b/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/StreamMetricsRequest.scala
index c5fe31cc83..11b483032b 100644
--- a/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/StreamMetricsRequest.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/metricsstream/api/StreamMetricsRequest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer (see chat/api/StreamMessagesRequest.scala). No protoc plugin is
// wired into the Maven build.
diff --git a/obp-api/src/main/scala/code/obp/grpc/signal/SignalChannelsServiceImpl.scala b/obp-api/src/main/scala/code/obp/grpc/signal/SignalChannelsServiceImpl.scala
index 8147fe522a..55e0729f77 100644
--- a/obp-api/src/main/scala/code/obp/grpc/signal/SignalChannelsServiceImpl.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/signal/SignalChannelsServiceImpl.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.obp.grpc.signal
import code.api.cache.RedisMessaging
diff --git a/obp-api/src/main/scala/code/obp/grpc/signal/api/FetchRequest.scala b/obp-api/src/main/scala/code/obp/grpc/signal/api/FetchRequest.scala
index 7f91d7f1cc..9b7182e08c 100644
--- a/obp-api/src/main/scala/code/obp/grpc/signal/api/FetchRequest.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/signal/api/FetchRequest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer (see chat/api and logcache/api). No protoc plugin is wired into
// the Maven build. Source of truth: obp-api/src/main/protobuf/signal.proto.
diff --git a/obp-api/src/main/scala/code/obp/grpc/signal/api/FetchResponse.scala b/obp-api/src/main/scala/code/obp/grpc/signal/api/FetchResponse.scala
index b31bd7b0bd..d279a8d644 100644
--- a/obp-api/src/main/scala/code/obp/grpc/signal/api/FetchResponse.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/signal/api/FetchResponse.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer (see chat/api and logcache/api). No protoc plugin is wired into
// the Maven build. Source of truth: obp-api/src/main/protobuf/signal.proto.
diff --git a/obp-api/src/main/scala/code/obp/grpc/signal/api/ListChannelsRequest.scala b/obp-api/src/main/scala/code/obp/grpc/signal/api/ListChannelsRequest.scala
index b179608dde..7fa68bc274 100644
--- a/obp-api/src/main/scala/code/obp/grpc/signal/api/ListChannelsRequest.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/signal/api/ListChannelsRequest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer (see chat/api and logcache/api). No protoc plugin is wired into
// the Maven build. Source of truth: obp-api/src/main/protobuf/signal.proto.
diff --git a/obp-api/src/main/scala/code/obp/grpc/signal/api/ListChannelsResponse.scala b/obp-api/src/main/scala/code/obp/grpc/signal/api/ListChannelsResponse.scala
index e9f3e9290d..e0cee683f6 100644
--- a/obp-api/src/main/scala/code/obp/grpc/signal/api/ListChannelsResponse.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/signal/api/ListChannelsResponse.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer (see chat/api and logcache/api). No protoc plugin is wired into
// the Maven build. Source of truth: obp-api/src/main/protobuf/signal.proto.
diff --git a/obp-api/src/main/scala/code/obp/grpc/signal/api/PublishRequest.scala b/obp-api/src/main/scala/code/obp/grpc/signal/api/PublishRequest.scala
index f2641c3ad6..485144ff24 100644
--- a/obp-api/src/main/scala/code/obp/grpc/signal/api/PublishRequest.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/signal/api/PublishRequest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer (see chat/api and logcache/api). No protoc plugin is wired into
// the Maven build. Source of truth: obp-api/src/main/protobuf/signal.proto.
diff --git a/obp-api/src/main/scala/code/obp/grpc/signal/api/PublishResponse.scala b/obp-api/src/main/scala/code/obp/grpc/signal/api/PublishResponse.scala
index 339aa94bd2..bfc800abd9 100644
--- a/obp-api/src/main/scala/code/obp/grpc/signal/api/PublishResponse.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/signal/api/PublishResponse.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer (see chat/api and logcache/api). No protoc plugin is wired into
// the Maven build. Source of truth: obp-api/src/main/protobuf/signal.proto.
diff --git a/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalChannelInfo.scala b/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalChannelInfo.scala
index 9fcebcc242..0d1311e180 100644
--- a/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalChannelInfo.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalChannelInfo.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer (see chat/api and logcache/api). No protoc plugin is wired into
// the Maven build. Source of truth: obp-api/src/main/protobuf/signal.proto.
diff --git a/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalChannelsServiceGrpc.scala b/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalChannelsServiceGrpc.scala
index 3b130aefc9..de35d212c0 100644
--- a/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalChannelsServiceGrpc.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalChannelsServiceGrpc.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer (see chat/api/ChatStreamServiceGrpc.scala and
// api/ObpServiceGrpc.scala). No protoc plugin is wired into the Maven build.
diff --git a/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalMessage.scala b/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalMessage.scala
index 382e71c746..7277d2d211 100644
--- a/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalMessage.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalMessage.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer (see chat/api and logcache/api). No protoc plugin is wired into
// the Maven build. Source of truth: obp-api/src/main/protobuf/signal.proto.
diff --git a/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalProto.scala b/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalProto.scala
index 09b361d318..cebe4f5bc9 100644
--- a/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalProto.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/signal/api/SignalProto.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.obp.grpc.signal.api
import com.google.protobuf.DescriptorProtos._
diff --git a/obp-api/src/main/scala/code/obp/grpc/signal/api/SubscribeRequest.scala b/obp-api/src/main/scala/code/obp/grpc/signal/api/SubscribeRequest.scala
index ebc4b9006c..77d19acd91 100644
--- a/obp-api/src/main/scala/code/obp/grpc/signal/api/SubscribeRequest.scala
+++ b/obp-api/src/main/scala/code/obp/grpc/signal/api/SubscribeRequest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
// Hand-written to match the scalapb-generated shape used elsewhere in the
// gRPC layer (see chat/api and logcache/api). No protoc plugin is wired into
// the Maven build. Source of truth: obp-api/src/main/protobuf/signal.proto.
diff --git a/obp-api/src/main/scala/code/opencorridorfees/OpenCorridorFeeAccrual.scala b/obp-api/src/main/scala/code/opencorridorfees/OpenCorridorFeeAccrual.scala
index b6806a452e..9595b8834e 100644
--- a/obp-api/src/main/scala/code/opencorridorfees/OpenCorridorFeeAccrual.scala
+++ b/obp-api/src/main/scala/code/opencorridorfees/OpenCorridorFeeAccrual.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.opencorridorfees
import net.liftweb.mapper._
diff --git a/obp-api/src/main/scala/code/opencorridorfees/OpenCorridorFees.scala b/obp-api/src/main/scala/code/opencorridorfees/OpenCorridorFees.scala
index 1578e359cd..6a1be99377 100644
--- a/obp-api/src/main/scala/code/opencorridorfees/OpenCorridorFees.scala
+++ b/obp-api/src/main/scala/code/opencorridorfees/OpenCorridorFees.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.opencorridorfees
import code.amqpbroker.AmqpBankBroker
diff --git a/obp-api/src/main/scala/code/organisation/Organisation.scala b/obp-api/src/main/scala/code/organisation/Organisation.scala
index 65cd6ad73e..3e3121f079 100644
--- a/obp-api/src/main/scala/code/organisation/Organisation.scala
+++ b/obp-api/src/main/scala/code/organisation/Organisation.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.organisation
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/organisation/OrganisationTrait.scala b/obp-api/src/main/scala/code/organisation/OrganisationTrait.scala
index 0b61489895..88c9e7a5e1 100644
--- a/obp-api/src/main/scala/code/organisation/OrganisationTrait.scala
+++ b/obp-api/src/main/scala/code/organisation/OrganisationTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.organisation
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/payeelookup/PayeeLookup.scala b/obp-api/src/main/scala/code/payeelookup/PayeeLookup.scala
index 60f77792f5..471f9122c2 100644
--- a/obp-api/src/main/scala/code/payeelookup/PayeeLookup.scala
+++ b/obp-api/src/main/scala/code/payeelookup/PayeeLookup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.payeelookup
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/payeelookup/PayeeLookupTrait.scala b/obp-api/src/main/scala/code/payeelookup/PayeeLookupTrait.scala
index 27c3c25b4d..6152dce057 100644
--- a/obp-api/src/main/scala/code/payeelookup/PayeeLookupTrait.scala
+++ b/obp-api/src/main/scala/code/payeelookup/PayeeLookupTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.payeelookup
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/paymetngateway/StripeExample.scala b/obp-api/src/main/scala/code/paymetngateway/StripeExample.scala
index 20183b33bb..ad93bc9bd2 100644
--- a/obp-api/src/main/scala/code/paymetngateway/StripeExample.scala
+++ b/obp-api/src/main/scala/code/paymetngateway/StripeExample.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.paymetngateway
import java.util
diff --git a/obp-api/src/main/scala/code/productattribute/MappedProductAttributeProvider.scala b/obp-api/src/main/scala/code/productattribute/MappedProductAttributeProvider.scala
index 531bf98ba7..fa5996ef97 100644
--- a/obp-api/src/main/scala/code/productattribute/MappedProductAttributeProvider.scala
+++ b/obp-api/src/main/scala/code/productattribute/MappedProductAttributeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.productAttributeattribute
import code.productattribute.ProductAttributeProvider
diff --git a/obp-api/src/main/scala/code/productattribute/ProductAttribute.scala b/obp-api/src/main/scala/code/productattribute/ProductAttribute.scala
index 5ed4d3aaa3..b07cd0660c 100644
--- a/obp-api/src/main/scala/code/productattribute/ProductAttribute.scala
+++ b/obp-api/src/main/scala/code/productattribute/ProductAttribute.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.productattribute
/* For ProductAttribute */
diff --git a/obp-api/src/main/scala/code/productcollection/MappedProductCollection.scala b/obp-api/src/main/scala/code/productcollection/MappedProductCollection.scala
index 7628e0a87c..7cacbd5d05 100644
--- a/obp-api/src/main/scala/code/productcollection/MappedProductCollection.scala
+++ b/obp-api/src/main/scala/code/productcollection/MappedProductCollection.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.productcollection
import com.openbankproject.commons.model.ProductCollection
diff --git a/obp-api/src/main/scala/code/productcollection/ProductCollction.scala b/obp-api/src/main/scala/code/productcollection/ProductCollction.scala
index 91c89eef7c..4528ee8687 100644
--- a/obp-api/src/main/scala/code/productcollection/ProductCollction.scala
+++ b/obp-api/src/main/scala/code/productcollection/ProductCollction.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.productcollection
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/productcollectionitem/MappedProductCollectionItem.scala b/obp-api/src/main/scala/code/productcollectionitem/MappedProductCollectionItem.scala
index d3fe8d74a0..082e02a564 100644
--- a/obp-api/src/main/scala/code/productcollectionitem/MappedProductCollectionItem.scala
+++ b/obp-api/src/main/scala/code/productcollectionitem/MappedProductCollectionItem.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.productcollectionitem
import code.productAttributeattribute.MappedProductAttribute
diff --git a/obp-api/src/main/scala/code/productcollectionitem/ProductCollctionItem.scala b/obp-api/src/main/scala/code/productcollectionitem/ProductCollctionItem.scala
index e05b8c414a..73545a152a 100644
--- a/obp-api/src/main/scala/code/productcollectionitem/ProductCollctionItem.scala
+++ b/obp-api/src/main/scala/code/productcollectionitem/ProductCollctionItem.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.productcollectionitem
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/productfee/MappedProductFeeProvider.scala b/obp-api/src/main/scala/code/productfee/MappedProductFeeProvider.scala
index 8c5e01438e..8b27e90c80 100644
--- a/obp-api/src/main/scala/code/productfee/MappedProductFeeProvider.scala
+++ b/obp-api/src/main/scala/code/productfee/MappedProductFeeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.productfee
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/productfee/ProductFee.scala b/obp-api/src/main/scala/code/productfee/ProductFee.scala
index 5682ce99f8..c0b02b9f11 100644
--- a/obp-api/src/main/scala/code/productfee/ProductFee.scala
+++ b/obp-api/src/main/scala/code/productfee/ProductFee.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.productfee
/* For ProductFee */
diff --git a/obp-api/src/main/scala/code/products/MappedProductsProvider.scala b/obp-api/src/main/scala/code/products/MappedProductsProvider.scala
index 26f6bedaff..18d814938c 100644
--- a/obp-api/src/main/scala/code/products/MappedProductsProvider.scala
+++ b/obp-api/src/main/scala/code/products/MappedProductsProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.products
import com.openbankproject.commons.model.Product
diff --git a/obp-api/src/main/scala/code/products/ProductTag.scala b/obp-api/src/main/scala/code/products/ProductTag.scala
index 748fd546b1..272261cbc9 100644
--- a/obp-api/src/main/scala/code/products/ProductTag.scala
+++ b/obp-api/src/main/scala/code/products/ProductTag.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.products
import code.util.UUIDString
diff --git a/obp-api/src/main/scala/code/products/Products.scala b/obp-api/src/main/scala/code/products/Products.scala
index 04509c8dc0..9fa5401dc7 100644
--- a/obp-api/src/main/scala/code/products/Products.scala
+++ b/obp-api/src/main/scala/code/products/Products.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.products
/* For products */
diff --git a/obp-api/src/main/scala/code/ratelimiting/MappedRateLimiting.scala b/obp-api/src/main/scala/code/ratelimiting/MappedRateLimiting.scala
index 8c354af065..0f279125e5 100644
--- a/obp-api/src/main/scala/code/ratelimiting/MappedRateLimiting.scala
+++ b/obp-api/src/main/scala/code/ratelimiting/MappedRateLimiting.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.ratelimiting
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/ratelimiting/RateLimiting.scala b/obp-api/src/main/scala/code/ratelimiting/RateLimiting.scala
index e75f922786..292e3d3dca 100644
--- a/obp-api/src/main/scala/code/ratelimiting/RateLimiting.scala
+++ b/obp-api/src/main/scala/code/ratelimiting/RateLimiting.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.ratelimiting
import java.util.Date
diff --git a/obp-api/src/main/scala/code/refreshuser/MappedUserRefreshesProvider.scala b/obp-api/src/main/scala/code/refreshuser/MappedUserRefreshesProvider.scala
index b29b67fbd7..d14788d684 100644
--- a/obp-api/src/main/scala/code/refreshuser/MappedUserRefreshesProvider.scala
+++ b/obp-api/src/main/scala/code/refreshuser/MappedUserRefreshesProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.UserRefreshes
import java.util.{Calendar, Date}
diff --git a/obp-api/src/main/scala/code/refreshuser/UserRefreshes.scala b/obp-api/src/main/scala/code/refreshuser/UserRefreshes.scala
index 33753f58c1..a9fb087d27 100644
--- a/obp-api/src/main/scala/code/refreshuser/UserRefreshes.scala
+++ b/obp-api/src/main/scala/code/refreshuser/UserRefreshes.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.UserRefreshes
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/regulatedentities/MappedRegulatedEntitiyProvider.scala b/obp-api/src/main/scala/code/regulatedentities/MappedRegulatedEntitiyProvider.scala
index 8023da53d4..afeaba0b57 100644
--- a/obp-api/src/main/scala/code/regulatedentities/MappedRegulatedEntitiyProvider.scala
+++ b/obp-api/src/main/scala/code/regulatedentities/MappedRegulatedEntitiyProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.regulatedentities
import code.regulatedentities.attribute.RegulatedEntityAttribute
diff --git a/obp-api/src/main/scala/code/regulatedentities/RegulatedEntity.scala b/obp-api/src/main/scala/code/regulatedentities/RegulatedEntity.scala
index 57c23d72d7..e9987088c4 100644
--- a/obp-api/src/main/scala/code/regulatedentities/RegulatedEntity.scala
+++ b/obp-api/src/main/scala/code/regulatedentities/RegulatedEntity.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.regulatedentities
diff --git a/obp-api/src/main/scala/code/regulatedentities/attribute/MappedRegulatedEntityAttributeProvider.scala b/obp-api/src/main/scala/code/regulatedentities/attribute/MappedRegulatedEntityAttributeProvider.scala
index 3ac100bad7..150c296049 100644
--- a/obp-api/src/main/scala/code/regulatedentities/attribute/MappedRegulatedEntityAttributeProvider.scala
+++ b/obp-api/src/main/scala/code/regulatedentities/attribute/MappedRegulatedEntityAttributeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.regulatedentities.attribute
import code.util.{MappedUUID, UUIDString}
diff --git a/obp-api/src/main/scala/code/regulatedentities/attribute/RegulatedEntityAttribute.scala b/obp-api/src/main/scala/code/regulatedentities/attribute/RegulatedEntityAttribute.scala
index 3837606a93..b82d24085b 100644
--- a/obp-api/src/main/scala/code/regulatedentities/attribute/RegulatedEntityAttribute.scala
+++ b/obp-api/src/main/scala/code/regulatedentities/attribute/RegulatedEntityAttribute.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.regulatedentities.attribute
/* For ProductAttribute */
diff --git a/obp-api/src/main/scala/code/routingscheme/RoutingScheme.scala b/obp-api/src/main/scala/code/routingscheme/RoutingScheme.scala
index 9309b80900..4b81fb2d6c 100644
--- a/obp-api/src/main/scala/code/routingscheme/RoutingScheme.scala
+++ b/obp-api/src/main/scala/code/routingscheme/RoutingScheme.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.routingscheme
import net.liftweb.common.{Box, Full}
diff --git a/obp-api/src/main/scala/code/routingscheme/RoutingSchemeSeed.scala b/obp-api/src/main/scala/code/routingscheme/RoutingSchemeSeed.scala
index a5dbc6b2aa..3b96d6f1de 100644
--- a/obp-api/src/main/scala/code/routingscheme/RoutingSchemeSeed.scala
+++ b/obp-api/src/main/scala/code/routingscheme/RoutingSchemeSeed.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.routingscheme
import net.liftweb.common.{Empty, Failure, Full}
diff --git a/obp-api/src/main/scala/code/routingscheme/RoutingSchemeTrait.scala b/obp-api/src/main/scala/code/routingscheme/RoutingSchemeTrait.scala
index 6fc564d03a..268779f76b 100644
--- a/obp-api/src/main/scala/code/routingscheme/RoutingSchemeTrait.scala
+++ b/obp-api/src/main/scala/code/routingscheme/RoutingSchemeTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.routingscheme
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/sandbox/CreateOBPUsers.scala b/obp-api/src/main/scala/code/sandbox/CreateOBPUsers.scala
index 969ffbd7dc..78c2b17262 100644
--- a/obp-api/src/main/scala/code/sandbox/CreateOBPUsers.scala
+++ b/obp-api/src/main/scala/code/sandbox/CreateOBPUsers.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.sandbox
import code.api.util.APIUtil.fullPasswordValidation
diff --git a/obp-api/src/main/scala/code/sandbox/LocalMappedConnectorDataImport.scala b/obp-api/src/main/scala/code/sandbox/LocalMappedConnectorDataImport.scala
index e193edcbea..6b86b3407a 100644
--- a/obp-api/src/main/scala/code/sandbox/LocalMappedConnectorDataImport.scala
+++ b/obp-api/src/main/scala/code/sandbox/LocalMappedConnectorDataImport.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.sandbox
import code.atms.MappedAtm
diff --git a/obp-api/src/main/scala/code/sandbox/OBPDataImport.scala b/obp-api/src/main/scala/code/sandbox/OBPDataImport.scala
index 4b24a4753e..67c99eac3b 100644
--- a/obp-api/src/main/scala/code/sandbox/OBPDataImport.scala
+++ b/obp-api/src/main/scala/code/sandbox/OBPDataImport.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.sandbox
import java.text.SimpleDateFormat
diff --git a/obp-api/src/main/scala/code/scheduler/ConsentScheduler.scala b/obp-api/src/main/scala/code/scheduler/ConsentScheduler.scala
index 5ad7405406..82e893139b 100644
--- a/obp-api/src/main/scala/code/scheduler/ConsentScheduler.scala
+++ b/obp-api/src/main/scala/code/scheduler/ConsentScheduler.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.scheduler
import code.api.berlin.group.ConstantsBG
diff --git a/obp-api/src/main/scala/code/scheduler/DataBaseCleanerScheduler.scala b/obp-api/src/main/scala/code/scheduler/DataBaseCleanerScheduler.scala
index c72b08be85..a2c21bfa87 100644
--- a/obp-api/src/main/scala/code/scheduler/DataBaseCleanerScheduler.scala
+++ b/obp-api/src/main/scala/code/scheduler/DataBaseCleanerScheduler.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.scheduler
import code.actorsystem.ObpActorSystem
diff --git a/obp-api/src/main/scala/code/scheduler/DatabaseDriverScheduler.scala b/obp-api/src/main/scala/code/scheduler/DatabaseDriverScheduler.scala
index 1b9eeba61c..84cd09027c 100644
--- a/obp-api/src/main/scala/code/scheduler/DatabaseDriverScheduler.scala
+++ b/obp-api/src/main/scala/code/scheduler/DatabaseDriverScheduler.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.scheduler
import java.sql.SQLException
diff --git a/obp-api/src/main/scala/code/scheduler/JobScheduler.scala b/obp-api/src/main/scala/code/scheduler/JobScheduler.scala
index 9f1a68854c..eaa310c506 100644
--- a/obp-api/src/main/scala/code/scheduler/JobScheduler.scala
+++ b/obp-api/src/main/scala/code/scheduler/JobScheduler.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.scheduler
import code.util.MappedUUID
diff --git a/obp-api/src/main/scala/code/scheduler/JobSchedulerTrait.scala b/obp-api/src/main/scala/code/scheduler/JobSchedulerTrait.scala
index 01e9c8dc2e..07df07ec35 100644
--- a/obp-api/src/main/scala/code/scheduler/JobSchedulerTrait.scala
+++ b/obp-api/src/main/scala/code/scheduler/JobSchedulerTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.scheduler
trait JobSchedulerTrait {
diff --git a/obp-api/src/main/scala/code/scheduler/MetricsArchiveScheduler.scala b/obp-api/src/main/scala/code/scheduler/MetricsArchiveScheduler.scala
index e0faac79aa..38614d31ac 100644
--- a/obp-api/src/main/scala/code/scheduler/MetricsArchiveScheduler.scala
+++ b/obp-api/src/main/scala/code/scheduler/MetricsArchiveScheduler.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.scheduler
import java.util.concurrent.TimeUnit
diff --git a/obp-api/src/main/scala/code/scheduler/SchedulerUtil.scala b/obp-api/src/main/scala/code/scheduler/SchedulerUtil.scala
index 34772ab221..6e57a0bd96 100644
--- a/obp-api/src/main/scala/code/scheduler/SchedulerUtil.scala
+++ b/obp-api/src/main/scala/code/scheduler/SchedulerUtil.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.scheduler
diff --git a/obp-api/src/main/scala/code/scheduler/TransactionScheduler.scala b/obp-api/src/main/scala/code/scheduler/TransactionScheduler.scala
index 381b1a680a..4c5291d2b3 100644
--- a/obp-api/src/main/scala/code/scheduler/TransactionScheduler.scala
+++ b/obp-api/src/main/scala/code/scheduler/TransactionScheduler.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.scheduler
import code.api.berlin.group.v1_3.model.TransactionStatus
diff --git a/obp-api/src/main/scala/code/scope/MappedScopesProvider.scala b/obp-api/src/main/scala/code/scope/MappedScopesProvider.scala
index 4801342754..888af52f52 100644
--- a/obp-api/src/main/scala/code/scope/MappedScopesProvider.scala
+++ b/obp-api/src/main/scala/code/scope/MappedScopesProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.scope
import code.util.{MappedUUID, UUIDString}
diff --git a/obp-api/src/main/scala/code/scope/MappedUserScopeProvider.scala b/obp-api/src/main/scala/code/scope/MappedUserScopeProvider.scala
index eb2e272925..c070d3d0a6 100644
--- a/obp-api/src/main/scala/code/scope/MappedUserScopeProvider.scala
+++ b/obp-api/src/main/scala/code/scope/MappedUserScopeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.scope
import code.util.UUIDString
diff --git a/obp-api/src/main/scala/code/scope/Scope.scala b/obp-api/src/main/scala/code/scope/Scope.scala
index 386c4c86a4..e7d0e7b668 100644
--- a/obp-api/src/main/scala/code/scope/Scope.scala
+++ b/obp-api/src/main/scala/code/scope/Scope.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.scope
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/scope/UserScope.scala b/obp-api/src/main/scala/code/scope/UserScope.scala
index 8ec423cf42..1f4c8968d9 100644
--- a/obp-api/src/main/scala/code/scope/UserScope.scala
+++ b/obp-api/src/main/scala/code/scope/UserScope.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.scope
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/search/search.scala b/obp-api/src/main/scala/code/search/search.scala
index af6a108700..f8798fa4cc 100644
--- a/obp-api/src/main/scala/code/search/search.scala
+++ b/obp-api/src/main/scala/code/search/search.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.search
import org.json4s._
diff --git a/obp-api/src/main/scala/code/signal/SignalChannels.scala b/obp-api/src/main/scala/code/signal/SignalChannels.scala
index ef2bbfe9da..8b471d9a4a 100644
--- a/obp-api/src/main/scala/code/signal/SignalChannels.scala
+++ b/obp-api/src/main/scala/code/signal/SignalChannels.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.signal
import code.api.cache.RedisMessaging
diff --git a/obp-api/src/main/scala/code/signal/SignalContentPolicy.scala b/obp-api/src/main/scala/code/signal/SignalContentPolicy.scala
index 77316899ab..5697383486 100644
--- a/obp-api/src/main/scala/code/signal/SignalContentPolicy.scala
+++ b/obp-api/src/main/scala/code/signal/SignalContentPolicy.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.signal
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/signal/SignalEventBus.scala b/obp-api/src/main/scala/code/signal/SignalEventBus.scala
index a3b10207c3..8179e1421a 100644
--- a/obp-api/src/main/scala/code/signal/SignalEventBus.scala
+++ b/obp-api/src/main/scala/code/signal/SignalEventBus.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.signal
import code.api.cache.Redis
diff --git a/obp-api/src/main/scala/code/signingbaskets/MappedSigningBasketProvider.scala b/obp-api/src/main/scala/code/signingbaskets/MappedSigningBasketProvider.scala
index ddeffde14a..d8bd342f55 100644
--- a/obp-api/src/main/scala/code/signingbaskets/MappedSigningBasketProvider.scala
+++ b/obp-api/src/main/scala/code/signingbaskets/MappedSigningBasketProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.signingbaskets
import code.api.berlin.group.ConstantsBG
diff --git a/obp-api/src/main/scala/code/signingbaskets/SigningBasket.scala b/obp-api/src/main/scala/code/signingbaskets/SigningBasket.scala
index cb7bb0284c..8400fc113a 100644
--- a/obp-api/src/main/scala/code/signingbaskets/SigningBasket.scala
+++ b/obp-api/src/main/scala/code/signingbaskets/SigningBasket.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.signingbaskets
diff --git a/obp-api/src/main/scala/code/socialmedia/MappedSocialMediasProvider.scala b/obp-api/src/main/scala/code/socialmedia/MappedSocialMediasProvider.scala
index b1b93c8b7f..589315b6d2 100644
--- a/obp-api/src/main/scala/code/socialmedia/MappedSocialMediasProvider.scala
+++ b/obp-api/src/main/scala/code/socialmedia/MappedSocialMediasProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.socialmedia
import java.util.Date
diff --git a/obp-api/src/main/scala/code/socialmedia/SocialMedia.scala b/obp-api/src/main/scala/code/socialmedia/SocialMedia.scala
index 8290b9f9e3..01ccf909dd 100644
--- a/obp-api/src/main/scala/code/socialmedia/SocialMedia.scala
+++ b/obp-api/src/main/scala/code/socialmedia/SocialMedia.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.socialmedia
import java.util.Date
diff --git a/obp-api/src/main/scala/code/standingorders/MappedStandingOrder.scala b/obp-api/src/main/scala/code/standingorders/MappedStandingOrder.scala
index 4c4cff3d62..d6eda246c3 100644
--- a/obp-api/src/main/scala/code/standingorders/MappedStandingOrder.scala
+++ b/obp-api/src/main/scala/code/standingorders/MappedStandingOrder.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.standingorders
import java.util.Date
diff --git a/obp-api/src/main/scala/code/standingorders/StandingOrder.scala b/obp-api/src/main/scala/code/standingorders/StandingOrder.scala
index 7f637c6540..414365e2bf 100644
--- a/obp-api/src/main/scala/code/standingorders/StandingOrder.scala
+++ b/obp-api/src/main/scala/code/standingorders/StandingOrder.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.standingorders
import java.util.Date
diff --git a/obp-api/src/main/scala/code/taxresidence/MappedTaxResidence.scala b/obp-api/src/main/scala/code/taxresidence/MappedTaxResidence.scala
index 1ab2dec70f..18c75dcb46 100644
--- a/obp-api/src/main/scala/code/taxresidence/MappedTaxResidence.scala
+++ b/obp-api/src/main/scala/code/taxresidence/MappedTaxResidence.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.taxresidence
import code.api.util.ErrorMessages
diff --git a/obp-api/src/main/scala/code/taxresidence/TaxResidence.scala b/obp-api/src/main/scala/code/taxresidence/TaxResidence.scala
index 2ddf624d02..a8ee85decf 100644
--- a/obp-api/src/main/scala/code/taxresidence/TaxResidence.scala
+++ b/obp-api/src/main/scala/code/taxresidence/TaxResidence.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.taxresidence
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/tesobe/CashAPI.scala b/obp-api/src/main/scala/code/tesobe/CashAPI.scala
index f03802b7b5..95bb1454d7 100644
--- a/obp-api/src/main/scala/code/tesobe/CashAPI.scala
+++ b/obp-api/src/main/scala/code/tesobe/CashAPI.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.tesobe
import java.util.Date
diff --git a/obp-api/src/main/scala/code/token/MappedOpenIDConnectToken.scala b/obp-api/src/main/scala/code/token/MappedOpenIDConnectToken.scala
index dcf1a73eb8..00ff49d0e7 100644
--- a/obp-api/src/main/scala/code/token/MappedOpenIDConnectToken.scala
+++ b/obp-api/src/main/scala/code/token/MappedOpenIDConnectToken.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.token
import java.util.Date
diff --git a/obp-api/src/main/scala/code/token/OpenIDConnectTokenProvider.scala b/obp-api/src/main/scala/code/token/OpenIDConnectTokenProvider.scala
index 2574640b3e..963a6af5e1 100644
--- a/obp-api/src/main/scala/code/token/OpenIDConnectTokenProvider.scala
+++ b/obp-api/src/main/scala/code/token/OpenIDConnectTokenProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.token
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/token/TokenProvider.scala b/obp-api/src/main/scala/code/token/TokenProvider.scala
index 83921fe91c..7bb5d58918 100644
--- a/obp-api/src/main/scala/code/token/TokenProvider.scala
+++ b/obp-api/src/main/scala/code/token/TokenProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.token
import java.util.Date
diff --git a/obp-api/src/main/scala/code/transaction/MappedTransaction.scala b/obp-api/src/main/scala/code/transaction/MappedTransaction.scala
index 12abbbca63..fced7210ba 100644
--- a/obp-api/src/main/scala/code/transaction/MappedTransaction.scala
+++ b/obp-api/src/main/scala/code/transaction/MappedTransaction.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transaction
diff --git a/obp-api/src/main/scala/code/transaction/internalMapping/MappedTransactionIdMappingProvider.scala b/obp-api/src/main/scala/code/transaction/internalMapping/MappedTransactionIdMappingProvider.scala
index 5e4ffa2732..b8fba30104 100644
--- a/obp-api/src/main/scala/code/transaction/internalMapping/MappedTransactionIdMappingProvider.scala
+++ b/obp-api/src/main/scala/code/transaction/internalMapping/MappedTransactionIdMappingProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transaction.internalMapping
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/main/scala/code/transaction/internalMapping/TransactionIdMapping.scala b/obp-api/src/main/scala/code/transaction/internalMapping/TransactionIdMapping.scala
index ee612824ae..59fd1992f7 100644
--- a/obp-api/src/main/scala/code/transaction/internalMapping/TransactionIdMapping.scala
+++ b/obp-api/src/main/scala/code/transaction/internalMapping/TransactionIdMapping.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transaction.internalMapping
import code.util.MappedUUID
diff --git a/obp-api/src/main/scala/code/transaction/internalMapping/TransactionIdMappingProvider.scala b/obp-api/src/main/scala/code/transaction/internalMapping/TransactionIdMappingProvider.scala
index b3afd5f6ba..7f455761fe 100644
--- a/obp-api/src/main/scala/code/transaction/internalMapping/TransactionIdMappingProvider.scala
+++ b/obp-api/src/main/scala/code/transaction/internalMapping/TransactionIdMappingProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transaction.internalMapping
import com.openbankproject.commons.model.TransactionId
diff --git a/obp-api/src/main/scala/code/transaction/internalMapping/TransactionIdMappingTrait.scala b/obp-api/src/main/scala/code/transaction/internalMapping/TransactionIdMappingTrait.scala
index 4c7231281d..24f7a9c514 100644
--- a/obp-api/src/main/scala/code/transaction/internalMapping/TransactionIdMappingTrait.scala
+++ b/obp-api/src/main/scala/code/transaction/internalMapping/TransactionIdMappingTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transaction.internalMapping
import com.openbankproject.commons.model.{BankId, TransactionId}
diff --git a/obp-api/src/main/scala/code/transactionChallenge/ChallengeProvider.scala b/obp-api/src/main/scala/code/transactionChallenge/ChallengeProvider.scala
index 6b31914520..d88f24cdfb 100644
--- a/obp-api/src/main/scala/code/transactionChallenge/ChallengeProvider.scala
+++ b/obp-api/src/main/scala/code/transactionChallenge/ChallengeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transactionChallenge
diff --git a/obp-api/src/main/scala/code/transactionChallenge/ChallengeTrait.scala b/obp-api/src/main/scala/code/transactionChallenge/ChallengeTrait.scala
index 8f948799d9..3c488aa7d2 100644
--- a/obp-api/src/main/scala/code/transactionChallenge/ChallengeTrait.scala
+++ b/obp-api/src/main/scala/code/transactionChallenge/ChallengeTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transactionChallenge
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/transactionChallenge/MappedChallengeProvider.scala b/obp-api/src/main/scala/code/transactionChallenge/MappedChallengeProvider.scala
index 3d860afeaa..67407b7cae 100644
--- a/obp-api/src/main/scala/code/transactionChallenge/MappedChallengeProvider.scala
+++ b/obp-api/src/main/scala/code/transactionChallenge/MappedChallengeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transactionChallenge
import code.api.util.APIUtil.{allowedAnswerTransactionRequestChallengeAttempts, transactionRequestChallengeTtl}
diff --git a/obp-api/src/main/scala/code/transactionChallenge/MappedExpectedChallengeAnswer.scala b/obp-api/src/main/scala/code/transactionChallenge/MappedExpectedChallengeAnswer.scala
index 0e27f284a5..1e31cb5efa 100644
--- a/obp-api/src/main/scala/code/transactionChallenge/MappedExpectedChallengeAnswer.scala
+++ b/obp-api/src/main/scala/code/transactionChallenge/MappedExpectedChallengeAnswer.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transactionChallenge
import code.util.MappedUUID
diff --git a/obp-api/src/main/scala/code/transactionRequestAttribute/MappedTransactionRequestAttributeProvider.scala b/obp-api/src/main/scala/code/transactionRequestAttribute/MappedTransactionRequestAttributeProvider.scala
index 25a7a66fa7..8af790e8b4 100644
--- a/obp-api/src/main/scala/code/transactionRequestAttribute/MappedTransactionRequestAttributeProvider.scala
+++ b/obp-api/src/main/scala/code/transactionRequestAttribute/MappedTransactionRequestAttributeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transactionRequestAttribute
import code.api.attributedefinition.AttributeDefinition
diff --git a/obp-api/src/main/scala/code/transactionRequestAttribute/TransactionRequestAttribute.scala b/obp-api/src/main/scala/code/transactionRequestAttribute/TransactionRequestAttribute.scala
index 44085fa23c..414b37f1cf 100644
--- a/obp-api/src/main/scala/code/transactionRequestAttribute/TransactionRequestAttribute.scala
+++ b/obp-api/src/main/scala/code/transactionRequestAttribute/TransactionRequestAttribute.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transactionRequestAttribute
import code.util.{MappedUUID, NewAttributeQueryTrait, UUIDString}
diff --git a/obp-api/src/main/scala/code/transactionRequestAttribute/TransactionRequestAttributeProvider.scala b/obp-api/src/main/scala/code/transactionRequestAttribute/TransactionRequestAttributeProvider.scala
index 6b2f241230..0a67e4f1e5 100644
--- a/obp-api/src/main/scala/code/transactionRequestAttribute/TransactionRequestAttributeProvider.scala
+++ b/obp-api/src/main/scala/code/transactionRequestAttribute/TransactionRequestAttributeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transactionRequestAttribute
import com.openbankproject.commons.model.enums.TransactionRequestAttributeType
diff --git a/obp-api/src/main/scala/code/transactionRequestAttribute/TransactionRequestAttributeX.scala b/obp-api/src/main/scala/code/transactionRequestAttribute/TransactionRequestAttributeX.scala
index a415895f29..0b6d3ad3fd 100644
--- a/obp-api/src/main/scala/code/transactionRequestAttribute/TransactionRequestAttributeX.scala
+++ b/obp-api/src/main/scala/code/transactionRequestAttribute/TransactionRequestAttributeX.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transactionRequestAttribute
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/transactionattribute/MappedTransactionAttributeProvider.scala b/obp-api/src/main/scala/code/transactionattribute/MappedTransactionAttributeProvider.scala
index e20f768047..7d89a04d63 100644
--- a/obp-api/src/main/scala/code/transactionattribute/MappedTransactionAttributeProvider.scala
+++ b/obp-api/src/main/scala/code/transactionattribute/MappedTransactionAttributeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transactionattribute
import code.api.attributedefinition.AttributeDefinition
diff --git a/obp-api/src/main/scala/code/transactionattribute/TransactionAttribute.scala b/obp-api/src/main/scala/code/transactionattribute/TransactionAttribute.scala
index be84ab2077..47079080b0 100644
--- a/obp-api/src/main/scala/code/transactionattribute/TransactionAttribute.scala
+++ b/obp-api/src/main/scala/code/transactionattribute/TransactionAttribute.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transactionattribute
/* For TransactionAttribute */
diff --git a/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala b/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala
index 965bd79b6c..0d1e2f6663 100644
--- a/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala
+++ b/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transactionrequests
import org.json4s._
@@ -114,18 +141,23 @@ object MappedTransactionRequestProvider extends TransactionRequestProvider with
case _ => None
}
- // Note: We don't save transaction_ids, status and challenge here.
+ // Note: We don't save transaction_ids, status and challenge here.
// Record both: mUserId = the authenticated user, mOnBehalfOfUserId = who the payment is for.
- // One attribution call (UserReference.TransactionRequest) gives both; the request layer's
- // consentCreator / consenter take precedence over the DB chain, as in CallContext.onBehalfOfUserId.
- val transactionRequestAttribution: Option[code.users.Attribution] = for {
- cc <- callContext
- user <- cc.user.toOption
- a <- code.users.Users.users.vend.attributionOf(user.userId, code.users.UserReference.TransactionRequest).toOption
- } yield cc.consentCreator.or(cc.consenter).map(_.userId).filter(_.nonEmpty) match {
- case Full(delegated) => a.copy(onBehalfOfUserId = delegated)
- case _ => a
- }
+ // The attribution call (UserReference.TransactionRequest) answers the second; the request
+ // layer's consentCreator / consenter take precedence over its DB chain, as in
+ // CallContext.onBehalfOfUserId. The call is made even when they already name the
+ // on-behalf-of user, because it is the one place a delegated write is logged.
+ //
+ // mUserId is read straight from the call context and never from the attribution: when the
+ // resolver refuses (a consent naming a consent user -- a broken chain it will not resolve),
+ // this audit row must still say who made the payment.
+ val authenticatedUserId: Option[String] =
+ callContext.flatMap(_.user.toOption).map(_.userId).filter(_.nonEmpty)
+ val transactionRequestAttribution: Option[code.users.Attribution] = authenticatedUserId.flatMap(userId =>
+ code.users.Users.users.vend.attributionOf(userId, code.users.UserReference.TransactionRequest).toOption)
+ val onBehalfOfUserIdOption: Option[String] =
+ callContext.flatMap(cc => cc.consentCreator.or(cc.consenter).toOption).map(_.userId).filter(_.nonEmpty)
+ .orElse(transactionRequestAttribution.map(_.onBehalfOfUserId))
val mappedTransactionRequest = MappedTransactionRequest.create
//transaction request fields:
@@ -179,8 +211,8 @@ object MappedTransactionRequestProvider extends TransactionRequestProvider with
.mConsentReferenceId(consentReferenceIdOption.getOrElse(null))
.mApiVersion(apiVersion.getOrElse(null))
.mApiStandard(apiStandard.getOrElse(null))
- .mUserId(transactionRequestAttribution.map(_.userId).getOrElse(null))
- .mOnBehalfOfUserId(transactionRequestAttribution.map(_.onBehalfOfUserId).getOrElse(null))
+ .mUserId(authenticatedUserId.getOrElse(null))
+ .mOnBehalfOfUserId(onBehalfOfUserIdOption.getOrElse(null))
.mConsumerId(callContext.flatMap(_.consumer.map(_.consumerId.get)).getOrElse(null))
// Explicit originator fields (FATF Rec 16, OPEN_CORRIDOR_PROMISE type only — null otherwise).
diff --git a/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestReasons.scala b/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestReasons.scala
index 7a654f8866..42655e1c6a 100644
--- a/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestReasons.scala
+++ b/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestReasons.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transactionrequests
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestTypeCharge.scala b/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestTypeCharge.scala
index a00dd2991d..cb48d9c0e9 100644
--- a/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestTypeCharge.scala
+++ b/obp-api/src/main/scala/code/transactionrequests/MappedTransactionRequestTypeCharge.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transactionrequests
import code.util.UUIDString
diff --git a/obp-api/src/main/scala/code/transactionrequests/TransactionRequests.scala b/obp-api/src/main/scala/code/transactionrequests/TransactionRequests.scala
index 3d1cbcfe2c..f046bad45b 100644
--- a/obp-api/src/main/scala/code/transactionrequests/TransactionRequests.scala
+++ b/obp-api/src/main/scala/code/transactionrequests/TransactionRequests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transactionrequests
diff --git a/obp-api/src/main/scala/code/transactionstatus/TransactionRequestStatusScheduler.scala b/obp-api/src/main/scala/code/transactionstatus/TransactionRequestStatusScheduler.scala
index 3d8ed3b673..47252952fe 100644
--- a/obp-api/src/main/scala/code/transactionstatus/TransactionRequestStatusScheduler.scala
+++ b/obp-api/src/main/scala/code/transactionstatus/TransactionRequestStatusScheduler.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transactionStatusScheduler
import java.util.concurrent.TimeUnit
diff --git a/obp-api/src/main/scala/code/transactiontypes/MappedTransactionTypeProvider.scala b/obp-api/src/main/scala/code/transactiontypes/MappedTransactionTypeProvider.scala
index c6d9e961fd..b140ad085e 100644
--- a/obp-api/src/main/scala/code/transactiontypes/MappedTransactionTypeProvider.scala
+++ b/obp-api/src/main/scala/code/transactiontypes/MappedTransactionTypeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.transaction_types
import code.TransactionTypes.TransactionTypeProvider
diff --git a/obp-api/src/main/scala/code/transactiontypes/TransactionType.scala b/obp-api/src/main/scala/code/transactiontypes/TransactionType.scala
index 877ff3c9ce..a7a56b75a2 100644
--- a/obp-api/src/main/scala/code/transactiontypes/TransactionType.scala
+++ b/obp-api/src/main/scala/code/transactiontypes/TransactionType.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.TransactionTypes
diff --git a/obp-api/src/main/scala/code/usercustomerlinks/MappedUserCustomerLink.scala b/obp-api/src/main/scala/code/usercustomerlinks/MappedUserCustomerLink.scala
index d517ca7285..c267e559e9 100644
--- a/obp-api/src/main/scala/code/usercustomerlinks/MappedUserCustomerLink.scala
+++ b/obp-api/src/main/scala/code/usercustomerlinks/MappedUserCustomerLink.scala
@@ -1,8 +1,36 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.usercustomerlinks
import java.util.Date
import code.api.util.ErrorMessages
+import code.users.{UserReference, Users}
import code.util.{MappedUUID, UUIDString}
import net.liftweb.common.{Box, Empty, Failure, Full}
import net.liftweb.mapper._
@@ -11,10 +39,34 @@ import scala.concurrent.Future
import com.openbankproject.commons.ExecutionContext.Implicits.global
object MappedUserCustomerLinkProvider extends UserCustomerLinkProvider {
+
+ /**
+ * On-behalf-of guard (attribution policy UserReference.UserCustomerLinkUser): a User-Customer
+ * link is owned by the on-behalf-of user. When the caller is a consent user the row is written
+ * for the user the consent names, so the link does not strand when the consent dies. For an
+ * original user this is a no-op. The resolver logs every redirect.
+ *
+ * The three methods keyed by a single user id -- create, get-or-create and the two-argument
+ * lookup -- all resolve, and they have to move together: the lookup is used as the
+ * "already linked?" pre-check immediately before a create, and MappedUserCustomerLink carries
+ * UniqueIndex(mUserId, mCustomerId). A redirected create paired with an unredirected pre-check
+ * would let the check pass on the consent user, then break the index on the human.
+ *
+ * getUserCustomerLinksByUserId is deliberately NOT resolved: it also serves the admin lookup at
+ * GET /banks/BANK_ID/user_customer_links/users/USER_ID, where the id is an explicit target and
+ * rewriting it would silently answer a different question. Endpoints that mean "my links" pass
+ * the resolved id themselves.
+ *
+ * ON_BEHALF_OF_USER_ID_PLAN.md, Phase 2 row 2.
+ */
+ private def linkOwnerUserId(userId: String): String =
+ Users.users.vend.attributedUserId(userId, UserReference.UserCustomerLinkUser).openOr(userId)
+
def createUserCustomerLink(userId: String, customerId: String, dateInserted: Date, isActive: Boolean): Box[UserCustomerLink] = {
+ val ownerUserId = linkOwnerUserId(userId)
val createUserCustomerLink = MappedUserCustomerLink.create
- .mUserId(userId)
+ .mUserId(ownerUserId)
.mCustomerId(customerId)
.mDateInserted(new Date())
.mIsActive(isActive)
@@ -23,11 +75,12 @@ object MappedUserCustomerLinkProvider extends UserCustomerLinkProvider {
Some(createUserCustomerLink)
}
def getOCreateUserCustomerLink(userId: String, customerId: String, dateInserted: Date, isActive: Boolean): Box[UserCustomerLink] = {
- getUserCustomerLink(userId, customerId) match {
+ val ownerUserId = linkOwnerUserId(userId)
+ getUserCustomerLinkRow(ownerUserId, customerId) match {
case Empty =>
scala.util.Try {
MappedUserCustomerLink.create
- .mUserId(userId)
+ .mUserId(ownerUserId)
.mCustomerId(customerId)
.mDateInserted(new Date())
.mIsActive(isActive)
@@ -35,7 +88,7 @@ object MappedUserCustomerLinkProvider extends UserCustomerLinkProvider {
} match {
case scala.util.Success(link) => Full(link)
case scala.util.Failure(_) =>
- getUserCustomerLink(userId, customerId)
+ getUserCustomerLinkRow(ownerUserId, customerId)
}
case everythingElse => everythingElse
}
@@ -56,7 +109,13 @@ object MappedUserCustomerLinkProvider extends UserCustomerLinkProvider {
userCustomerLinks
}
- def getUserCustomerLink(userId : String, customerId: String): Box[UserCustomerLink] = {
+ /** Resolves the caller: see linkOwnerUserId. Callers use this as the pre-check for a create,
+ * so it must ask about the same row the create would write. */
+ def getUserCustomerLink(userId : String, customerId: String): Box[UserCustomerLink] =
+ getUserCustomerLinkRow(linkOwnerUserId(userId), customerId)
+
+ /** The raw lookup, on an id that has already been resolved. */
+ private def getUserCustomerLinkRow(userId : String, customerId: String): Box[UserCustomerLink] = {
MappedUserCustomerLink.find(
By(MappedUserCustomerLink.mUserId, userId),
By(MappedUserCustomerLink.mCustomerId, customerId))
diff --git a/obp-api/src/main/scala/code/usercustomerlinks/UserCustomerLink.scala b/obp-api/src/main/scala/code/usercustomerlinks/UserCustomerLink.scala
index ab78b1eea4..4c80331774 100644
--- a/obp-api/src/main/scala/code/usercustomerlinks/UserCustomerLink.scala
+++ b/obp-api/src/main/scala/code/usercustomerlinks/UserCustomerLink.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.usercustomerlinks
import java.util.Date
diff --git a/obp-api/src/main/scala/code/userlocks/UserLocks.scala b/obp-api/src/main/scala/code/userlocks/UserLocks.scala
index ec80928c8d..70bfcd4954 100644
--- a/obp-api/src/main/scala/code/userlocks/UserLocks.scala
+++ b/obp-api/src/main/scala/code/userlocks/UserLocks.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.userlocks
import java.util.Date
diff --git a/obp-api/src/main/scala/code/userlocks/UserLocksProvider.scala b/obp-api/src/main/scala/code/userlocks/UserLocksProvider.scala
index d020128739..34d8fba2f4 100644
--- a/obp-api/src/main/scala/code/userlocks/UserLocksProvider.scala
+++ b/obp-api/src/main/scala/code/userlocks/UserLocksProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.userlocks
import code.users.Users
diff --git a/obp-api/src/main/scala/code/users/DoobieUserQueries.scala b/obp-api/src/main/scala/code/users/DoobieUserQueries.scala
index 58424cca5a..266c41890c 100644
--- a/obp-api/src/main/scala/code/users/DoobieUserQueries.scala
+++ b/obp-api/src/main/scala/code/users/DoobieUserQueries.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.users
import code.api.util.DoobieUtil
diff --git a/obp-api/src/main/scala/code/users/LiftUsers.scala b/obp-api/src/main/scala/code/users/LiftUsers.scala
index 4e13f94bd3..8ebad921c8 100644
--- a/obp-api/src/main/scala/code/users/LiftUsers.scala
+++ b/obp-api/src/main/scala/code/users/LiftUsers.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.users
import code.api.util.Consent.logger
diff --git a/obp-api/src/main/scala/code/users/MappedUserAttribute.scala b/obp-api/src/main/scala/code/users/MappedUserAttribute.scala
index bbb2dbaa99..db6041188c 100644
--- a/obp-api/src/main/scala/code/users/MappedUserAttribute.scala
+++ b/obp-api/src/main/scala/code/users/MappedUserAttribute.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.users
import code.api.util.ErrorMessages
diff --git a/obp-api/src/main/scala/code/users/UserAgreement.scala b/obp-api/src/main/scala/code/users/UserAgreement.scala
index e4deda7818..c299b2c132 100644
--- a/obp-api/src/main/scala/code/users/UserAgreement.scala
+++ b/obp-api/src/main/scala/code/users/UserAgreement.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.users
import java.util.Date
diff --git a/obp-api/src/main/scala/code/users/UserAgreementProvider.scala b/obp-api/src/main/scala/code/users/UserAgreementProvider.scala
index fdb514fdd2..a8fed05a85 100644
--- a/obp-api/src/main/scala/code/users/UserAgreementProvider.scala
+++ b/obp-api/src/main/scala/code/users/UserAgreementProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.users
import java.util.Date
diff --git a/obp-api/src/main/scala/code/users/UserAttributeProvider.scala b/obp-api/src/main/scala/code/users/UserAttributeProvider.scala
index d15c56460b..9ad898b0e4 100644
--- a/obp-api/src/main/scala/code/users/UserAttributeProvider.scala
+++ b/obp-api/src/main/scala/code/users/UserAttributeProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.users
/* For UserAttribute */
diff --git a/obp-api/src/main/scala/code/users/UserInitAction.scala b/obp-api/src/main/scala/code/users/UserInitAction.scala
index a4a62e3130..f8092fc8f2 100644
--- a/obp-api/src/main/scala/code/users/UserInitAction.scala
+++ b/obp-api/src/main/scala/code/users/UserInitAction.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.users
import code.util.MappedUUID
diff --git a/obp-api/src/main/scala/code/users/UserInitActionProvider.scala b/obp-api/src/main/scala/code/users/UserInitActionProvider.scala
index 20265b6763..238ce2f075 100644
--- a/obp-api/src/main/scala/code/users/UserInitActionProvider.scala
+++ b/obp-api/src/main/scala/code/users/UserInitActionProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.users
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/main/scala/code/users/UserInvitation.scala b/obp-api/src/main/scala/code/users/UserInvitation.scala
index 89a40bcf7d..a1212192e3 100644
--- a/obp-api/src/main/scala/code/users/UserInvitation.scala
+++ b/obp-api/src/main/scala/code/users/UserInvitation.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.users
import java.util.UUID.randomUUID
diff --git a/obp-api/src/main/scala/code/users/UserInvitationProvider.scala b/obp-api/src/main/scala/code/users/UserInvitationProvider.scala
index b8bc81123f..1c11e6f23e 100644
--- a/obp-api/src/main/scala/code/users/UserInvitationProvider.scala
+++ b/obp-api/src/main/scala/code/users/UserInvitationProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.users
import com.openbankproject.commons.model.BankId
diff --git a/obp-api/src/main/scala/code/users/UserReference.scala b/obp-api/src/main/scala/code/users/UserReference.scala
index 04c89455ba..356554bfb6 100644
--- a/obp-api/src/main/scala/code/users/UserReference.scala
+++ b/obp-api/src/main/scala/code/users/UserReference.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.users
/**
@@ -62,7 +89,6 @@ object UserReference {
case object UserLocksUser extends UserReference(KeepUserId , "code.userlocks.UserLocks", List("UserId"), "lock the authenticated user")
case object ExpectedChallengeAnswerUser extends UserReference(KeepUserId , "code.transactionChallenge.MappedExpectedChallengeAnswer", List("ExpectedUserId"), "the challenge is answered by the initiating user")
case object ChatMessageSender extends UserReference(KeepUserId , "code.chat.ChatMessage", List("SenderUserId"), "sender = the authenticated user is truthful")
- case object PemUsageLastUser extends UserReference(KeepUserId , "code.api.pemusage.PemUsage", List("LastUserId"), "audit")
case object MetricUser extends UserReference(KeepUserId , "code.metrics.MappedMetric", List("userId"), "record both: on-behalf-of via consent_reference_id at read time")
case object MetricArchiveUser extends UserReference(KeepUserId , "code.metrics.MetricArchive", List("userId"), "as MetricUser")
case object ConnectorTraceUser extends UserReference(KeepUserId , "code.metrics.ConnectorTrace", List("userId"), "as MetricUser")
@@ -100,6 +126,8 @@ object UserReference {
case object AbacRuleCreator extends UserReference(UseOnBehalfOfUserId, "code.abacrule.AbacRule", List("CreatedByUserId", "UpdatedByUserId"))
case object CounterpartyCreator extends UserReference(UseOnBehalfOfUserId, "code.metadata.counterparties.MappedCounterparty", List("mCreatedByUserId"))
case object CounterpartyWhereTagUser extends UserReference(UseOnBehalfOfUserId, "code.metadata.counterparties.MappedCounterpartyWhereTag", List("user"))
+ case object ApiProductSubscriptionCreator extends UserReference(UseOnBehalfOfUserId, "code.apiproductsubscription.ApiProductSubscription", List("CreatedByUserId"), "a subscription outlives the Consent that took it out")
+ case object DynamicGlossaryItemCreator extends UserReference(UseOnBehalfOfUserId, "code.glossaryitem.DynamicGlossaryItem", List("CreatedByUserId"))
case object BankCreator extends UserReference(UseOnBehalfOfUserId, "code.model.dataAccess.MappedBank", List("CreatedByUserId"), "creator grant already resolved at the endpoint")
case object OrganisationCreator extends UserReference(UseOnBehalfOfUserId, "code.organisation.Organisation", List("CreatedByUserId"))
case object PayeeLookupCreator extends UserReference(UseOnBehalfOfUserId, "code.payeelookup.PayeeLookup", List("CreatedByUserId"))
@@ -143,7 +171,6 @@ object UserReference {
UserLocksUser,
ExpectedChallengeAnswerUser,
ChatMessageSender,
- PemUsageLastUser,
MetricUser,
MetricArchiveUser,
ConnectorTraceUser,
@@ -179,6 +206,8 @@ object UserReference {
AbacRuleCreator,
CounterpartyCreator,
CounterpartyWhereTagUser,
+ ApiProductSubscriptionCreator,
+ DynamicGlossaryItemCreator,
BankCreator,
OrganisationCreator,
PayeeLookupCreator,
@@ -213,14 +242,15 @@ object UserReference {
OAuthTokenUser
)
- /** Mapper fields the frozen test's name pattern matches but which are not user ids. */
+ /** Mapper fields the frozen test's name pattern matches but which are not user ids.
+ *
+ * Only columns the pattern actually catches belong here; UserReferenceAttributionPolicyTest fails
+ * on an entry that matches nothing, because an inert exclusion looks like cover it is not giving.
+ * (Removed for that reason: AccountAccessRequest.CheckerComment, DynamicChangeRequest.CheckerComment,
+ * MappedKycCheck.mStaffName, MappedMeeting.mStaffToken -- all free text, and none of them matched.) */
val notUserIdColumns: List[(String, String, String)] = List(
("code.model.dataAccess.MappedBankAccount", "holder", "free-text holder name"),
("code.transaction.MappedTransaction", "counterpartyAccountHolder", "free-text name"),
- ("code.accountaccessrequest.AccountAccessRequest", "CheckerComment", "text"),
- ("code.dynamicchangerequest.DynamicChangeRequest", "CheckerComment", "text"),
- ("code.kycchecks.MappedKycCheck", "mStaffName", "text"),
- ("code.meetings.MappedMeeting", "mStaffToken", "token"),
("code.entitlement.MappedEntitlement", "mCreatedByProcess", "process tag"),
("code.model.dataAccess.ResourceUser", "userId_", "the user's own id"),
("code.model.dataAccess.ResourceUser", "CreatedByConsentId", "consent id"),
diff --git a/obp-api/src/main/scala/code/users/Users.scala b/obp-api/src/main/scala/code/users/Users.scala
index 8b48b1e3e4..2e7c870840 100644
--- a/obp-api/src/main/scala/code/users/Users.scala
+++ b/obp-api/src/main/scala/code/users/Users.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.users
import java.util.Date
diff --git a/obp-api/src/main/scala/code/util/AkkaHttpClient.scala b/obp-api/src/main/scala/code/util/AkkaHttpClient.scala
index 46d229784c..de669eca53 100644
--- a/obp-api/src/main/scala/code/util/AkkaHttpClient.scala
+++ b/obp-api/src/main/scala/code/util/AkkaHttpClient.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
diff --git a/obp-api/src/main/scala/code/util/AttributeQueryTrait.scala b/obp-api/src/main/scala/code/util/AttributeQueryTrait.scala
index 1a4bf288a3..ab00e2a0e0 100644
--- a/obp-api/src/main/scala/code/util/AttributeQueryTrait.scala
+++ b/obp-api/src/main/scala/code/util/AttributeQueryTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import code.api.util.DoobieQueries
diff --git a/obp-api/src/main/scala/code/util/BankNameGenerator.scala b/obp-api/src/main/scala/code/util/BankNameGenerator.scala
index 6910a12eb9..e0bdea2562 100644
--- a/obp-api/src/main/scala/code/util/BankNameGenerator.scala
+++ b/obp-api/src/main/scala/code/util/BankNameGenerator.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import net.liftweb.common.{Box, Failure, Full}
diff --git a/obp-api/src/main/scala/code/util/ClassScanUtils.scala b/obp-api/src/main/scala/code/util/ClassScanUtils.scala
index cf6aed8286..fc6793ba0d 100644
--- a/obp-api/src/main/scala/code/util/ClassScanUtils.scala
+++ b/obp-api/src/main/scala/code/util/ClassScanUtils.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/main/scala/code/util/DangerousCharacters.scala b/obp-api/src/main/scala/code/util/DangerousCharacters.scala
index 51d518edca..fa49795cfb 100644
--- a/obp-api/src/main/scala/code/util/DangerousCharacters.scala
+++ b/obp-api/src/main/scala/code/util/DangerousCharacters.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
/**
diff --git a/obp-api/src/main/scala/code/util/DefaultStringField.scala b/obp-api/src/main/scala/code/util/DefaultStringField.scala
index 61d85277b6..f0bcec9260 100644
--- a/obp-api/src/main/scala/code/util/DefaultStringField.scala
+++ b/obp-api/src/main/scala/code/util/DefaultStringField.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import net.liftweb.mapper.{Mapper, MappedString}
diff --git a/obp-api/src/main/scala/code/util/Helper.scala b/obp-api/src/main/scala/code/util/Helper.scala
index 3dc961e61a..b45b10414d 100644
--- a/obp-api/src/main/scala/code/util/Helper.scala
+++ b/obp-api/src/main/scala/code/util/Helper.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import org.json4s._
diff --git a/obp-api/src/main/scala/code/util/JsonSchemaUtil.scala b/obp-api/src/main/scala/code/util/JsonSchemaUtil.scala
index ae1b9cef8c..8f828f83c5 100644
--- a/obp-api/src/main/scala/code/util/JsonSchemaUtil.scala
+++ b/obp-api/src/main/scala/code/util/JsonSchemaUtil.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import java.nio.charset.Charset
diff --git a/obp-api/src/main/scala/code/util/MappedAccountNumber.scala b/obp-api/src/main/scala/code/util/MappedAccountNumber.scala
index 1d9b31008d..97fd7a27aa 100644
--- a/obp-api/src/main/scala/code/util/MappedAccountNumber.scala
+++ b/obp-api/src/main/scala/code/util/MappedAccountNumber.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import net.liftweb.mapper.{Mapper, MappedString}
diff --git a/obp-api/src/main/scala/code/util/MappedUUID.scala b/obp-api/src/main/scala/code/util/MappedUUID.scala
index 1fd5edb77a..4b83de08d7 100644
--- a/obp-api/src/main/scala/code/util/MappedUUID.scala
+++ b/obp-api/src/main/scala/code/util/MappedUUID.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import code.api.util.APIUtil.generateUUID
diff --git a/obp-api/src/main/scala/code/util/NewAttributeQueryTrait.scala b/obp-api/src/main/scala/code/util/NewAttributeQueryTrait.scala
index fc434ff41c..75a6c382c9 100644
--- a/obp-api/src/main/scala/code/util/NewAttributeQueryTrait.scala
+++ b/obp-api/src/main/scala/code/util/NewAttributeQueryTrait.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import code.api.util.DoobieQueries
diff --git a/obp-api/src/main/scala/code/util/ReflectionUtils.scala b/obp-api/src/main/scala/code/util/ReflectionUtils.scala
index b822bb2d6f..cac4361383 100644
--- a/obp-api/src/main/scala/code/util/ReflectionUtils.scala
+++ b/obp-api/src/main/scala/code/util/ReflectionUtils.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import java.util.Date
diff --git a/obp-api/src/main/scala/code/util/SecureLogging.scala b/obp-api/src/main/scala/code/util/SecureLogging.scala
index f3d07ef7ed..2f391369d7 100644
--- a/obp-api/src/main/scala/code/util/SecureLogging.scala
+++ b/obp-api/src/main/scala/code/util/SecureLogging.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/util/SecureLoggingDemo.scala b/obp-api/src/main/scala/code/util/SecureLoggingDemo.scala
index 24148e3ea3..4c7bd9f832 100644
--- a/obp-api/src/main/scala/code/util/SecureLoggingDemo.scala
+++ b/obp-api/src/main/scala/code/util/SecureLoggingDemo.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/main/scala/code/util/TTLCache.scala b/obp-api/src/main/scala/code/util/TTLCache.scala
index 7a27b685cf..d8b6f711b1 100644
--- a/obp-api/src/main/scala/code/util/TTLCache.scala
+++ b/obp-api/src/main/scala/code/util/TTLCache.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import java.util.concurrent.{Callable, TimeUnit}
diff --git a/obp-api/src/main/scala/code/util/UUIDString.scala b/obp-api/src/main/scala/code/util/UUIDString.scala
index e643533306..f87a8dab3e 100644
--- a/obp-api/src/main/scala/code/util/UUIDString.scala
+++ b/obp-api/src/main/scala/code/util/UUIDString.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import code.api.util.APIUtil
diff --git a/obp-api/src/main/scala/code/utilitypayment/UtilityCallbackDispatcher.scala b/obp-api/src/main/scala/code/utilitypayment/UtilityCallbackDispatcher.scala
index 30ac081178..ae355bd9ac 100644
--- a/obp-api/src/main/scala/code/utilitypayment/UtilityCallbackDispatcher.scala
+++ b/obp-api/src/main/scala/code/utilitypayment/UtilityCallbackDispatcher.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.utilitypayment
import java.io.IOException
diff --git a/obp-api/src/main/scala/code/utilitypayment/UtilityPaymentCallback.scala b/obp-api/src/main/scala/code/utilitypayment/UtilityPaymentCallback.scala
index b1a96463ce..8a8d01e0f7 100644
--- a/obp-api/src/main/scala/code/utilitypayment/UtilityPaymentCallback.scala
+++ b/obp-api/src/main/scala/code/utilitypayment/UtilityPaymentCallback.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.utilitypayment
import net.liftweb.common.Box
diff --git a/obp-api/src/main/scala/code/validation/JsonSchemaValidationProvider.scala b/obp-api/src/main/scala/code/validation/JsonSchemaValidationProvider.scala
index 826e25f0a5..502230d524 100644
--- a/obp-api/src/main/scala/code/validation/JsonSchemaValidationProvider.scala
+++ b/obp-api/src/main/scala/code/validation/JsonSchemaValidationProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.validation
/* For CardAttribute */
diff --git a/obp-api/src/main/scala/code/validation/MappedJsonSchemaValidation.scala b/obp-api/src/main/scala/code/validation/MappedJsonSchemaValidation.scala
index 0f86288abc..d016f478fe 100644
--- a/obp-api/src/main/scala/code/validation/MappedJsonSchemaValidation.scala
+++ b/obp-api/src/main/scala/code/validation/MappedJsonSchemaValidation.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.validation
import net.liftweb.mapper.{MappedText, _}
diff --git a/obp-api/src/main/scala/code/validation/MappedJsonSchemaValidationProvider.scala b/obp-api/src/main/scala/code/validation/MappedJsonSchemaValidationProvider.scala
index 17f7a663e7..1c03acafd2 100644
--- a/obp-api/src/main/scala/code/validation/MappedJsonSchemaValidationProvider.scala
+++ b/obp-api/src/main/scala/code/validation/MappedJsonSchemaValidationProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.validation
import java.util.UUID.randomUUID
diff --git a/obp-api/src/main/scala/code/views/MapperViews.scala b/obp-api/src/main/scala/code/views/MapperViews.scala
index 5aff41a0d3..8d3f79dd72 100644
--- a/obp-api/src/main/scala/code/views/MapperViews.scala
+++ b/obp-api/src/main/scala/code/views/MapperViews.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.views
import code.accountholders.MapperAccountHolders
diff --git a/obp-api/src/main/scala/code/views/Views.scala b/obp-api/src/main/scala/code/views/Views.scala
index a2d037929a..e49d7eb49d 100644
--- a/obp-api/src/main/scala/code/views/Views.scala
+++ b/obp-api/src/main/scala/code/views/Views.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.views
import code.api.util.CallContext
diff --git a/obp-api/src/main/scala/code/views/system/AccountAccess.scala b/obp-api/src/main/scala/code/views/system/AccountAccess.scala
index 6a7dcc25df..1e192b0237 100644
--- a/obp-api/src/main/scala/code/views/system/AccountAccess.scala
+++ b/obp-api/src/main/scala/code/views/system/AccountAccess.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.views.system
import code.api.Constant.ALL_CONSUMERS
diff --git a/obp-api/src/main/scala/code/views/system/ViewDefinition.scala b/obp-api/src/main/scala/code/views/system/ViewDefinition.scala
index 9815259bf3..a1a15f94a1 100644
--- a/obp-api/src/main/scala/code/views/system/ViewDefinition.scala
+++ b/obp-api/src/main/scala/code/views/system/ViewDefinition.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.views.system
import code.api.Constant._
diff --git a/obp-api/src/main/scala/code/views/system/ViewPermission.scala b/obp-api/src/main/scala/code/views/system/ViewPermission.scala
index 2f0bfaa558..80f271912b 100644
--- a/obp-api/src/main/scala/code/views/system/ViewPermission.scala
+++ b/obp-api/src/main/scala/code/views/system/ViewPermission.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.views.system
import code.api.Constant.{CAN_GRANT_ACCESS_TO_VIEWS, CAN_REVOKE_ACCESS_TO_VIEWS}
diff --git a/obp-api/src/main/scala/code/webhook/AccountWebhook.scala b/obp-api/src/main/scala/code/webhook/AccountWebhook.scala
index 5421f5f4a0..c3845f1244 100644
--- a/obp-api/src/main/scala/code/webhook/AccountWebhook.scala
+++ b/obp-api/src/main/scala/code/webhook/AccountWebhook.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.webhook
import code.api.util.OBPQueryParam
diff --git a/obp-api/src/main/scala/code/webhook/BankAccountNotification.scala b/obp-api/src/main/scala/code/webhook/BankAccountNotification.scala
index 83a8a8c0ad..ae8d6ddbda 100644
--- a/obp-api/src/main/scala/code/webhook/BankAccountNotification.scala
+++ b/obp-api/src/main/scala/code/webhook/BankAccountNotification.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.webhook
import code.api.util.OBPQueryParam
diff --git a/obp-api/src/main/scala/code/webhook/BankAccountNotificationWebhook.scala b/obp-api/src/main/scala/code/webhook/BankAccountNotificationWebhook.scala
index 4654dfc03a..bc73b76914 100644
--- a/obp-api/src/main/scala/code/webhook/BankAccountNotificationWebhook.scala
+++ b/obp-api/src/main/scala/code/webhook/BankAccountNotificationWebhook.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.webhook
import code.api.util._
diff --git a/obp-api/src/main/scala/code/webhook/MappedAccountWebhook.scala b/obp-api/src/main/scala/code/webhook/MappedAccountWebhook.scala
index e11153833a..450aca68aa 100644
--- a/obp-api/src/main/scala/code/webhook/MappedAccountWebhook.scala
+++ b/obp-api/src/main/scala/code/webhook/MappedAccountWebhook.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.webhook
import code.api.util._
diff --git a/obp-api/src/main/scala/code/webhook/OkHttpWebhookClient.scala b/obp-api/src/main/scala/code/webhook/OkHttpWebhookClient.scala
index 3aad0b5139..88fd167c2d 100644
--- a/obp-api/src/main/scala/code/webhook/OkHttpWebhookClient.scala
+++ b/obp-api/src/main/scala/code/webhook/OkHttpWebhookClient.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.webhook
import java.io.IOException
diff --git a/obp-api/src/main/scala/code/webhook/SystemAccountNotification.scala b/obp-api/src/main/scala/code/webhook/SystemAccountNotification.scala
index 252bfb988f..e837700db6 100644
--- a/obp-api/src/main/scala/code/webhook/SystemAccountNotification.scala
+++ b/obp-api/src/main/scala/code/webhook/SystemAccountNotification.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.webhook
import code.api.util.OBPQueryParam
diff --git a/obp-api/src/main/scala/code/webhook/SystemAccountNotificationWebhook.scala b/obp-api/src/main/scala/code/webhook/SystemAccountNotificationWebhook.scala
index a53ff65d0c..b53dd9060a 100644
--- a/obp-api/src/main/scala/code/webhook/SystemAccountNotificationWebhook.scala
+++ b/obp-api/src/main/scala/code/webhook/SystemAccountNotificationWebhook.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.webhook
import code.api.util._
diff --git a/obp-api/src/main/scala/code/webhook/WebhookActor.scala b/obp-api/src/main/scala/code/webhook/WebhookActor.scala
index c090f394d4..63e9462739 100644
--- a/obp-api/src/main/scala/code/webhook/WebhookActor.scala
+++ b/obp-api/src/main/scala/code/webhook/WebhookActor.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.webhook
import code.api.util.ApiTrigger
diff --git a/obp-api/src/main/scala/code/webhook/WebhookHttpClient.scala b/obp-api/src/main/scala/code/webhook/WebhookHttpClient.scala
index 7b26e0de60..8633051d48 100644
--- a/obp-api/src/main/scala/code/webhook/WebhookHttpClient.scala
+++ b/obp-api/src/main/scala/code/webhook/WebhookHttpClient.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.webhook
import org.json4s._
diff --git a/obp-api/src/main/scala/code/webuiprops/MappedWebUiPropsProvider.scala b/obp-api/src/main/scala/code/webuiprops/MappedWebUiPropsProvider.scala
index 93b7516beb..9f711d7892 100644
--- a/obp-api/src/main/scala/code/webuiprops/MappedWebUiPropsProvider.scala
+++ b/obp-api/src/main/scala/code/webuiprops/MappedWebUiPropsProvider.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.webuiprops
import code.api.cache.Caching
diff --git a/obp-api/src/main/scala/code/webuiprops/WebUiProps.scala b/obp-api/src/main/scala/code/webuiprops/WebUiProps.scala
index 02c6a5872b..3770e3449f 100644
--- a/obp-api/src/main/scala/code/webuiprops/WebUiProps.scala
+++ b/obp-api/src/main/scala/code/webuiprops/WebUiProps.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.webuiprops
/* For Connector method routing, star connector use this provider to find proxy connector name */
diff --git a/obp-api/src/main/scala/deletion/DeleteAccountCascade.scala b/obp-api/src/main/scala/deletion/DeleteAccountCascade.scala
index ea095de6af..f3756634ea 100644
--- a/obp-api/src/main/scala/deletion/DeleteAccountCascade.scala
+++ b/obp-api/src/main/scala/deletion/DeleteAccountCascade.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package deletion
import code.accountattribute.MappedAccountAttribute
diff --git a/obp-api/src/main/scala/deletion/DeleteBankCascade.scala b/obp-api/src/main/scala/deletion/DeleteBankCascade.scala
index 375fba62c9..75655c365b 100644
--- a/obp-api/src/main/scala/deletion/DeleteBankCascade.scala
+++ b/obp-api/src/main/scala/deletion/DeleteBankCascade.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package deletion
import code.accountattribute.MappedAccountAttribute
diff --git a/obp-api/src/main/scala/deletion/DeleteCustomerCascade.scala b/obp-api/src/main/scala/deletion/DeleteCustomerCascade.scala
index 6683a77ef5..4883b810be 100644
--- a/obp-api/src/main/scala/deletion/DeleteCustomerCascade.scala
+++ b/obp-api/src/main/scala/deletion/DeleteCustomerCascade.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package deletion
import code.accountapplication.MappedAccountApplication
diff --git a/obp-api/src/main/scala/deletion/DeleteProductCascade.scala b/obp-api/src/main/scala/deletion/DeleteProductCascade.scala
index dc68b2b561..6e767a9eba 100644
--- a/obp-api/src/main/scala/deletion/DeleteProductCascade.scala
+++ b/obp-api/src/main/scala/deletion/DeleteProductCascade.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package deletion
import code.api.APIFailureNewStyle
diff --git a/obp-api/src/main/scala/deletion/DeleteTransactionCascade.scala b/obp-api/src/main/scala/deletion/DeleteTransactionCascade.scala
index 42808f6428..087b6b53fc 100644
--- a/obp-api/src/main/scala/deletion/DeleteTransactionCascade.scala
+++ b/obp-api/src/main/scala/deletion/DeleteTransactionCascade.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package deletion
import code.api.APIFailureNewStyle
diff --git a/obp-api/src/main/scala/deletion/DeletionUtil.scala b/obp-api/src/main/scala/deletion/DeletionUtil.scala
index aa3b3e87b2..cb6b55d238 100644
--- a/obp-api/src/main/scala/deletion/DeletionUtil.scala
+++ b/obp-api/src/main/scala/deletion/DeletionUtil.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package deletion
import net.liftweb.db.DB
diff --git a/obp-api/src/test/resources/frozen_type_meta_data b/obp-api/src/test/resources/frozen_type_meta_data
index 5e66fd7748..6d3596e485 100644
Binary files a/obp-api/src/test/resources/frozen_type_meta_data and b/obp-api/src/test/resources/frozen_type_meta_data differ
diff --git a/obp-api/src/test/resources/frozen_type_meta_data.txt b/obp-api/src/test/resources/frozen_type_meta_data.txt
index 1b7b348f99..100da9936f 100644
--- a/obp-api/src/test/resources/frozen_type_meta_data.txt
+++ b/obp-api/src/test/resources/frozen_type_meta_data.txt
@@ -640,25 +640,6 @@ field code.api.util.APIUtil.EndpointInfo name String
field code.api.util.APIUtil.EndpointInfo version String
field code.api.util.APIUtil.HTTPParam name String
field code.api.util.APIUtil.HTTPParam values List[String]
-field code.api.util.ConsentJWT access Option[code.api.berlin.group.v1_3.JSONFactory_BERLIN_GROUP_1_3.ConsentAccessJson]
-field code.api.util.ConsentJWT aud String
-field code.api.util.ConsentJWT createdByUserId String
-field code.api.util.ConsentJWT email Option[String]
-field code.api.util.ConsentJWT entitlements List[code.api.util.Role]
-field code.api.util.ConsentJWT exp Long
-field code.api.util.ConsentJWT iat Long
-field code.api.util.ConsentJWT iss String
-field code.api.util.ConsentJWT jti String
-field code.api.util.ConsentJWT my_resources Option[code.api.util.ConsentMyResources]
-field code.api.util.ConsentJWT name Option[String]
-field code.api.util.ConsentJWT nbf Long
-field code.api.util.ConsentJWT request_headers List[code.api.util.APIUtil.HTTPParam]
-field code.api.util.ConsentJWT sub String
-field code.api.util.ConsentJWT views List[code.api.util.ConsentView]
-field code.api.util.ConsentMyResources personal_dynamic_entities List[code.api.util.ConsentPersonalDynamicEntity]
-field code.api.util.ConsentPersonalDynamicEntity actions List[String]
-field code.api.util.ConsentPersonalDynamicEntity bank_id String
-field code.api.util.ConsentPersonalDynamicEntity entity_name String
field code.api.util.ConsentView account_id String
field code.api.util.ConsentView bank_id String
field code.api.util.ConsentView helper_info Option[code.api.v5_0_0.HelperInfoJson]
@@ -3251,6 +3232,7 @@ field code.api.v5_0_0.ViewJsonV500 metadata_view String
field code.api.v5_0_0.ViewJsonV500 short_name String
field code.api.v5_0_0.ViewsIdsJsonV500 views List[code.api.v5_0_0.ViewIdJsonV500]
field code.api.v5_0_0.ViewsJsonV500 views List[code.api.v5_0_0.ViewJsonV500]
+field code.api.v5_1_0.APITags tags List[String]
field code.api.v5_1_0.AgentJsonV510 agent_id String
field code.api.v5_1_0.AgentJsonV510 agent_number String
field code.api.v5_1_0.AgentJsonV510 bank_id String
@@ -3265,7 +3247,7 @@ field code.api.v5_1_0.AllConsentJsonV510 consent_reference_id String
field code.api.v5_1_0.AllConsentJsonV510 consumer_id String
field code.api.v5_1_0.AllConsentJsonV510 created_by_user_id String
field code.api.v5_1_0.AllConsentJsonV510 frequency_per_day Option[Int]
-field code.api.v5_1_0.AllConsentJsonV510 jwt_payload net.liftweb.common.Box[code.api.util.ConsentJWT]
+field code.api.v5_1_0.AllConsentJsonV510 jwt_payload net.liftweb.common.Box[code.api.v5_1_0.ConsentJWTV510]
field code.api.v5_1_0.AllConsentJsonV510 last_action_date String
field code.api.v5_1_0.AllConsentJsonV510 last_usage_date String
field code.api.v5_1_0.AllConsentJsonV510 note String
@@ -3359,12 +3341,31 @@ field code.api.v5_1_0.ConsentInfoJsonV510 jwt_payload String
field code.api.v5_1_0.ConsentInfoJsonV510 last_action_date String
field code.api.v5_1_0.ConsentInfoJsonV510 last_usage_date String
field code.api.v5_1_0.ConsentInfoJsonV510 status String
+field code.api.v5_1_0.ConsentJWTV510 access Option[code.api.berlin.group.v1_3.JSONFactory_BERLIN_GROUP_1_3.ConsentAccessJson]
+field code.api.v5_1_0.ConsentJWTV510 aud String
+field code.api.v5_1_0.ConsentJWTV510 createdByUserId String
+field code.api.v5_1_0.ConsentJWTV510 email Option[String]
+field code.api.v5_1_0.ConsentJWTV510 entitlements List[code.api.util.Role]
+field code.api.v5_1_0.ConsentJWTV510 exp Long
+field code.api.v5_1_0.ConsentJWTV510 iat Long
+field code.api.v5_1_0.ConsentJWTV510 iss String
+field code.api.v5_1_0.ConsentJWTV510 jti String
+field code.api.v5_1_0.ConsentJWTV510 my_resources Option[code.api.v5_1_0.ConsentMyResourcesV510]
+field code.api.v5_1_0.ConsentJWTV510 name Option[String]
+field code.api.v5_1_0.ConsentJWTV510 nbf Long
+field code.api.v5_1_0.ConsentJWTV510 request_headers List[code.api.util.APIUtil.HTTPParam]
+field code.api.v5_1_0.ConsentJWTV510 sub String
+field code.api.v5_1_0.ConsentJWTV510 views List[code.api.util.ConsentView]
field code.api.v5_1_0.ConsentJsonV510 consent_id String
field code.api.v5_1_0.ConsentJsonV510 consent_request_id Option[String]
field code.api.v5_1_0.ConsentJsonV510 consumer_id String
field code.api.v5_1_0.ConsentJsonV510 jwt String
field code.api.v5_1_0.ConsentJsonV510 scopes Option[List[code.api.util.Role]]
field code.api.v5_1_0.ConsentJsonV510 status String
+field code.api.v5_1_0.ConsentMyResourcesV510 personal_dynamic_entities List[code.api.v5_1_0.ConsentPersonalDynamicEntityV510]
+field code.api.v5_1_0.ConsentPersonalDynamicEntityV510 actions List[String]
+field code.api.v5_1_0.ConsentPersonalDynamicEntityV510 bank_id String
+field code.api.v5_1_0.ConsentPersonalDynamicEntityV510 entity_name String
field code.api.v5_1_0.ConsentRequestFromAccountJson account_routing com.openbankproject.commons.model.AccountRoutingJsonV121
field code.api.v5_1_0.ConsentRequestFromAccountJson bank_routing code.api.v1_2_1.BankRoutingJsonV121
field code.api.v5_1_0.ConsentRequestFromAccountJson branch_routing com.openbankproject.commons.model.BranchRoutingJsonV141
diff --git a/obp-api/src/test/scala/bootstrap/http4s/DevCertificateSetTest.scala b/obp-api/src/test/scala/bootstrap/http4s/DevCertificateSetTest.scala
index 8463d9b4a0..10e50db048 100644
--- a/obp-api/src/test/scala/bootstrap/http4s/DevCertificateSetTest.scala
+++ b/obp-api/src/test/scala/bootstrap/http4s/DevCertificateSetTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package bootstrap.http4s
import java.io.File
diff --git a/obp-api/src/test/scala/bootstrap/http4s/Http4sMtlsHandshakeTest.scala b/obp-api/src/test/scala/bootstrap/http4s/Http4sMtlsHandshakeTest.scala
index 2272a9af4e..b770e8719d 100644
--- a/obp-api/src/test/scala/bootstrap/http4s/Http4sMtlsHandshakeTest.scala
+++ b/obp-api/src/test/scala/bootstrap/http4s/Http4sMtlsHandshakeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package bootstrap.http4s
import java.io.{File, FileOutputStream}
diff --git a/obp-api/src/test/scala/bootstrap/http4s/Http4sMtlsTest.scala b/obp-api/src/test/scala/bootstrap/http4s/Http4sMtlsTest.scala
index 28c1b02a8b..652ec9c485 100644
--- a/obp-api/src/test/scala/bootstrap/http4s/Http4sMtlsTest.scala
+++ b/obp-api/src/test/scala/bootstrap/http4s/Http4sMtlsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package bootstrap.http4s
import java.security.KeyStore
diff --git a/obp-api/src/test/scala/bootstrap/http4s/NginxForwarderTest.scala b/obp-api/src/test/scala/bootstrap/http4s/NginxForwarderTest.scala
index ba942e4183..2267eae1e9 100644
--- a/obp-api/src/test/scala/bootstrap/http4s/NginxForwarderTest.scala
+++ b/obp-api/src/test/scala/bootstrap/http4s/NginxForwarderTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package bootstrap.http4s
import java.io.{File, FileOutputStream}
diff --git a/obp-api/src/test/scala/code/Http4sTestServer.scala b/obp-api/src/test/scala/code/Http4sTestServer.scala
index d4a8793fbc..28646b2f55 100644
--- a/obp-api/src/test/scala/code/Http4sTestServer.scala
+++ b/obp-api/src/test/scala/code/Http4sTestServer.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code
import cats.effect._
diff --git a/obp-api/src/test/scala/code/SandboxServer.scala b/obp-api/src/test/scala/code/SandboxServer.scala
index 3be231b10b..f802800b95 100644
--- a/obp-api/src/test/scala/code/SandboxServer.scala
+++ b/obp-api/src/test/scala/code/SandboxServer.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code
import cats.effect._
diff --git a/obp-api/src/test/scala/code/TestServer.scala b/obp-api/src/test/scala/code/TestServer.scala
index 9b2a66bb2c..63ab7c323a 100644
--- a/obp-api/src/test/scala/code/TestServer.scala
+++ b/obp-api/src/test/scala/code/TestServer.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code
import cats.effect._
diff --git a/obp-api/src/test/scala/code/accountHolder/AccountHoldersTest.scala b/obp-api/src/test/scala/code/accountHolder/AccountHoldersTest.scala
index 3c1c7865b7..8f4a7aecb6 100644
--- a/obp-api/src/test/scala/code/accountHolder/AccountHoldersTest.scala
+++ b/obp-api/src/test/scala/code/accountHolder/AccountHoldersTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.accountHolder
import code.accountholders.AccountHolders
diff --git a/obp-api/src/test/scala/code/api/AliveCheckRoutesTest.scala b/obp-api/src/test/scala/code/api/AliveCheckRoutesTest.scala
index 05712b520f..88f5ac45d6 100644
--- a/obp-api/src/test/scala/code/api/AliveCheckRoutesTest.scala
+++ b/obp-api/src/test/scala/code/api/AliveCheckRoutesTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api
import cats.effect.IO
diff --git a/obp-api/src/test/scala/code/api/AuthenticationRefactorTest.scala b/obp-api/src/test/scala/code/api/AuthenticationRefactorTest.scala
index 740ccfa30f..317af77cd9 100644
--- a/obp-api/src/test/scala/code/api/AuthenticationRefactorTest.scala
+++ b/obp-api/src/test/scala/code/api/AuthenticationRefactorTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api
import code.api.Constant.localIdentityProvider
diff --git a/obp-api/src/test/scala/code/api/DirectLoginTest.scala b/obp-api/src/test/scala/code/api/DirectLoginTest.scala
index 463690d4f2..928ce45bc6 100644
--- a/obp-api/src/test/scala/code/api/DirectLoginTest.scala
+++ b/obp-api/src/test/scala/code/api/DirectLoginTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/OAuth2AudienceValidationTest.scala b/obp-api/src/test/scala/code/api/OAuth2AudienceValidationTest.scala
index 0f4c1673e2..b4ed3678d1 100644
--- a/obp-api/src/test/scala/code/api/OAuth2AudienceValidationTest.scala
+++ b/obp-api/src/test/scala/code/api/OAuth2AudienceValidationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api
import code.api.util.ErrorMessages
diff --git a/obp-api/src/test/scala/code/api/OAuth2ConsumerResolutionTest.scala b/obp-api/src/test/scala/code/api/OAuth2ConsumerResolutionTest.scala
index e9f68b3c35..419b6b3730 100644
--- a/obp-api/src/test/scala/code/api/OAuth2ConsumerResolutionTest.scala
+++ b/obp-api/src/test/scala/code/api/OAuth2ConsumerResolutionTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api
import code.api.util.APIUtil
diff --git a/obp-api/src/test/scala/code/api/OBPRestHelperTest.scala b/obp-api/src/test/scala/code/api/OBPRestHelperTest.scala
index bc999c8cb4..1d546d4f53 100644
--- a/obp-api/src/test/scala/code/api/OBPRestHelperTest.scala
+++ b/obp-api/src/test/scala/code/api/OBPRestHelperTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api
import code.api.util.APIUtil.{ResourceDoc, EmptyBody}
diff --git a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/OpenAPI31FactoryTest.scala b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/OpenAPI31FactoryTest.scala
index abec05bd65..5d2ab6d65a 100644
--- a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/OpenAPI31FactoryTest.scala
+++ b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/OpenAPI31FactoryTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.ResourceDocs1_4_0
import code.api.v1_4_0.JSONFactory1_4_0
diff --git a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTechnologyTest.scala b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTechnologyTest.scala
index f2a7406cb7..10154b3ceb 100644
--- a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTechnologyTest.scala
+++ b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTechnologyTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.ResourceDocs1_4_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTest.scala b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTest.scala
index 3b6e831399..36de742775 100644
--- a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTest.scala
+++ b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.ResourceDocs1_4_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsV140ServerSetup.scala b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsV140ServerSetup.scala
index 16d3751119..7ee28d6231 100644
--- a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsV140ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/ResourceDocsV140ServerSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.ResourceDocs1_4_0
import code.setup.ServerSetupWithTestData
diff --git a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerDocsTest.scala b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerDocsTest.scala
index f877606f45..f4c6342ce9 100644
--- a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerDocsTest.scala
+++ b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerDocsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.ResourceDocs1_4_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerFactoryUnitTest.scala b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerFactoryUnitTest.scala
index 014f4a83a7..4c0239ba47 100644
--- a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerFactoryUnitTest.scala
+++ b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerFactoryUnitTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.ResourceDocs1_4_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerOptionFieldTypeTest.scala b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerOptionFieldTypeTest.scala
index 5814eda966..14afe865c8 100644
--- a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerOptionFieldTypeTest.scala
+++ b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerOptionFieldTypeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.ResourceDocs1_4_0
import java.util.Date
diff --git a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerPathOrderAndArrayBodyTest.scala b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerPathOrderAndArrayBodyTest.scala
index 94031a65ed..91eedc9ea8 100644
--- a/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerPathOrderAndArrayBodyTest.scala
+++ b/obp-api/src/test/scala/code/api/ResourceDocs1_4_0/SwaggerPathOrderAndArrayBodyTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.ResourceDocs1_4_0
import code.api.util.APIUtil
diff --git a/obp-api/src/test/scala/code/api/SIWETest.scala b/obp-api/src/test/scala/code/api/SIWETest.scala
index 2e5722b6d3..65fb3857dd 100644
--- a/obp-api/src/test/scala/code/api/SIWETest.scala
+++ b/obp-api/src/test/scala/code/api/SIWETest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api
import java.nio.charset.StandardCharsets
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/UKAmountsTest.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/UKAmountsTest.scala
index 7882dfafb3..1e85dbcdbb 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/UKAmountsTest.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/UKAmountsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking
import code.api.util.OBPTransactionDirection
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v2_0_0/UKOpenBankingV200ServerSetup.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v2_0_0/UKOpenBankingV200ServerSetup.scala
index afc5f89d7e..8ace843201 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v2_0_0/UKOpenBankingV200ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v2_0_0/UKOpenBankingV200ServerSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v2_0_0
import code.setup.ServerSetupWithTestData
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v2_0_0/UKOpenBankingV200Tests.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v2_0_0/UKOpenBankingV200Tests.scala
index 6122a7e10a..f3e28b2d03 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v2_0_0/UKOpenBankingV200Tests.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v2_0_0/UKOpenBankingV200Tests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v2_0_0
import code.api.UKOpenBanking.v2_0_0.JSONFactory_UKOpenBanking_200.{AccountBalancesUKV200, Accounts, TransactionsJsonUKV200}
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310AisTests.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310AisTests.scala
index 78a2737b57..a1e1a8b695 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310AisTests.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310AisTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v3_1_0
import code.api.util.APIUtil.{DateWithDayFormat, ResourceDoc, UserOrApplication, buildOperationId}
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310ConsentPermissionsTests.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310ConsentPermissionsTests.scala
index 648dedf66e..a077bda847 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310ConsentPermissionsTests.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310ConsentPermissionsTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v3_1_0
import code.api.util.ErrorMessages.InvalidUKConsentPermissions
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310PisTests.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310PisTests.scala
index aaa3fbb881..08f4ed4a90 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310PisTests.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310PisTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v3_1_0
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310ServerSetup.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310ServerSetup.scala
index 7bfbb6fee9..2bdca36999 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v3_1_0/UKOpenBankingV310ServerSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v3_1_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401AccountInfoTests.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401AccountInfoTests.scala
index 0dc493214f..96409f8b2e 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401AccountInfoTests.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401AccountInfoTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v4_0_1
import code.api.Constant
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConfirmationFundsTests.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConfirmationFundsTests.scala
index f37f6b9d66..22bffe1f59 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConfirmationFundsTests.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConfirmationFundsTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v4_0_1
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConsentAccessTests.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConsentAccessTests.scala
index cc10f3892c..5037a921d8 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConsentAccessTests.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConsentAccessTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v4_0_1
import code.api.util.APIUtil.{ResourceDoc, UserOrApplication, buildOperationId}
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConsentPermissionsTests.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConsentPermissionsTests.scala
index bc6379347d..dd3aeca35f 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConsentPermissionsTests.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConsentPermissionsTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v4_0_1
import code.api.util.Consent
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConsentScopingTests.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConsentScopingTests.scala
index 88d3de7b02..d52ee47245 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConsentScopingTests.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ConsentScopingTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v4_0_1
import code.api.Constant
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401EventNotificationsTests.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401EventNotificationsTests.scala
index e2f37cdaa8..efadf8b394 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401EventNotificationsTests.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401EventNotificationsTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v4_0_1
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401EventsTests.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401EventsTests.scala
index e9828bb664..419b4ebc0b 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401EventsTests.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401EventsTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v4_0_1
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401PaymentInitiationTests.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401PaymentInitiationTests.scala
index ce0dc97e5e..6371282528 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401PaymentInitiationTests.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401PaymentInitiationTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v4_0_1
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ServerSetup.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ServerSetup.scala
index db3d71bc99..80c3c77278 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401ServerSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v4_0_1
import code.api.Constant
diff --git a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401VrpTests.scala b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401VrpTests.scala
index 54581431a3..8316be66ed 100644
--- a/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401VrpTests.scala
+++ b/obp-api/src/test/scala/code/api/UKOpenBanking/v4_0_1/UKOpenBankingV401VrpTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.UKOpenBanking.v4_0_1
import org.scalatest.Tag
diff --git a/obp-api/src/test/scala/code/api/berlin/group/signing/PSD2RequestSigner.scala b/obp-api/src/test/scala/code/api/berlin/group/signing/PSD2RequestSigner.scala
index 3a10585a63..edd61cc788 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/signing/PSD2RequestSigner.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/signing/PSD2RequestSigner.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.signing
import java.nio.charset.StandardCharsets
diff --git a/obp-api/src/test/scala/code/api/berlin/group/signing/PSD2SigningTestSupport.scala b/obp-api/src/test/scala/code/api/berlin/group/signing/PSD2SigningTestSupport.scala
index fe43b02d11..befe06595b 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/signing/PSD2SigningTestSupport.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/signing/PSD2SigningTestSupport.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.signing
import code.api.util.APIUtil
diff --git a/obp-api/src/test/scala/code/api/berlin/group/signing/RegulatedEntityTest.scala b/obp-api/src/test/scala/code/api/berlin/group/signing/RegulatedEntityTest.scala
index 81eab6aa98..4c31f2fa34 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/signing/RegulatedEntityTest.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/signing/RegulatedEntityTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.signing
import code.api.berlin.group.v1_3.BerlinGroupServerSetupV1_3
diff --git a/obp-api/src/test/scala/code/api/berlin/group/signing/TestCertificateGenerator.scala b/obp-api/src/test/scala/code/api/berlin/group/signing/TestCertificateGenerator.scala
index cbebada851..05ee76c844 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/signing/TestCertificateGenerator.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/signing/TestCertificateGenerator.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.signing
import org.bouncycastle.asn1.x500.X500Name
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v1_3/AccountInformationServiceAISApiTest.scala b/obp-api/src/test/scala/code/api/berlin/group/v1_3/AccountInformationServiceAISApiTest.scala
index 82d6b6575c..d74f49eecc 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v1_3/AccountInformationServiceAISApiTest.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v1_3/AccountInformationServiceAISApiTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.v1_3
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupConsentFixtures.scala b/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupConsentFixtures.scala
index a448863ec5..12973f60ca 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupConsentFixtures.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupConsentFixtures.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.v1_3
import code.accountholders.AccountHolders
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupServerSetupV1_3.scala b/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupServerSetupV1_3.scala
index 1e1782c2ee..dfade15d2e 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupServerSetupV1_3.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupServerSetupV1_3.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.v1_3
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupV13ConsentAccessTests.scala b/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupV13ConsentAccessTests.scala
index 87af96af9f..f27dd88d59 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupV13ConsentAccessTests.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v1_3/BerlinGroupV13ConsentAccessTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.v1_3
import code.api.berlin.group.ConstantsBG
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v1_3/BgSpecValidationTest.scala b/obp-api/src/test/scala/code/api/berlin/group/v1_3/BgSpecValidationTest.scala
index 9971995043..a074fb2d16 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v1_3/BgSpecValidationTest.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v1_3/BgSpecValidationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.v1_3
import code.api.berlin.group.v1_3.BgSpecValidation._
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v1_3/ConfirmationOfFundsServicePIISApiTest.scala b/obp-api/src/test/scala/code/api/berlin/group/v1_3/ConfirmationOfFundsServicePIISApiTest.scala
index 2d53562fcb..a3bf5a5d7d 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v1_3/ConfirmationOfFundsServicePIISApiTest.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v1_3/ConfirmationOfFundsServicePIISApiTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.v1_3
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v1_3/PaymentInitiationServicePISApiTest.scala b/obp-api/src/test/scala/code/api/berlin/group/v1_3/PaymentInitiationServicePISApiTest.scala
index 5128d01669..7257fc9768 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v1_3/PaymentInitiationServicePISApiTest.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v1_3/PaymentInitiationServicePISApiTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.v1_3
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v1_3/SigningBasketServiceSBSApiTest.scala b/obp-api/src/test/scala/code/api/berlin/group/v1_3/SigningBasketServiceSBSApiTest.scala
index e51ac5b983..3d8afa8922 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v1_3/SigningBasketServiceSBSApiTest.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v1_3/SigningBasketServiceSBSApiTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.v1_3
import code.api.Constant.SYSTEM_INITIATE_PAYMENTS_BERLIN_GROUP_VIEW_ID
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2AISTest.scala b/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2AISTest.scala
index c62d93d059..e555463e56 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2AISTest.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2AISTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.v2
import cats.effect.IO
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2PIISTest.scala b/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2PIISTest.scala
index eff8bdfc07..a2c8299714 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2PIISTest.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2PIISTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.v2
import cats.effect.IO
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2PISTest.scala b/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2PISTest.scala
index 44a4e816ee..b28c665116 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2PISTest.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2PISTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.v2
import cats.effect.IO
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2ResourceDocTest.scala b/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2ResourceDocTest.scala
index 8d56d2a52b..fb742e45d3 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2ResourceDocTest.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v2/Http4sBGv2ResourceDocTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.v2
import code.util.Helper.MdcLoggable
diff --git a/obp-api/src/test/scala/code/api/berlin/group/v2/JSONFactoryBGv2Test.scala b/obp-api/src/test/scala/code/api/berlin/group/v2/JSONFactoryBGv2Test.scala
index 32d6f4045a..f007e35a27 100644
--- a/obp-api/src/test/scala/code/api/berlin/group/v2/JSONFactoryBGv2Test.scala
+++ b/obp-api/src/test/scala/code/api/berlin/group/v2/JSONFactoryBGv2Test.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.berlin.group.v2
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/cache/CacheKeyFormatTest.scala b/obp-api/src/test/scala/code/api/cache/CacheKeyFormatTest.scala
index 20fcc49c42..0a97c8326b 100644
--- a/obp-api/src/test/scala/code/api/cache/CacheKeyFormatTest.scala
+++ b/obp-api/src/test/scala/code/api/cache/CacheKeyFormatTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.cache
import org.scalatest.{FlatSpec, Matchers}
diff --git a/obp-api/src/test/scala/code/api/cache/CacheSerializationNamespaceTest.scala b/obp-api/src/test/scala/code/api/cache/CacheSerializationNamespaceTest.scala
index af32030f35..1a6b080fca 100644
--- a/obp-api/src/test/scala/code/api/cache/CacheSerializationNamespaceTest.scala
+++ b/obp-api/src/test/scala/code/api/cache/CacheSerializationNamespaceTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.cache
import code.setup.RedisTestTarget
diff --git a/obp-api/src/test/scala/code/api/cache/InMemoryCachingTest.scala b/obp-api/src/test/scala/code/api/cache/InMemoryCachingTest.scala
index 91c26d33e8..64c563056b 100644
--- a/obp-api/src/test/scala/code/api/cache/InMemoryCachingTest.scala
+++ b/obp-api/src/test/scala/code/api/cache/InMemoryCachingTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.cache
import org.scalatest.{FlatSpec, Matchers}
diff --git a/obp-api/src/test/scala/code/api/cache/KryoGoldenCompatTest.scala b/obp-api/src/test/scala/code/api/cache/KryoGoldenCompatTest.scala
index cb5b672f02..cab46dffcd 100644
--- a/obp-api/src/test/scala/code/api/cache/KryoGoldenCompatTest.scala
+++ b/obp-api/src/test/scala/code/api/cache/KryoGoldenCompatTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.cache
import org.scalatest.{FlatSpec, Matchers}
diff --git a/obp-api/src/test/scala/code/api/cache/MethodRoutingCacheInvalidationTest.scala b/obp-api/src/test/scala/code/api/cache/MethodRoutingCacheInvalidationTest.scala
index 3856ccac5d..051afbb6a1 100644
--- a/obp-api/src/test/scala/code/api/cache/MethodRoutingCacheInvalidationTest.scala
+++ b/obp-api/src/test/scala/code/api/cache/MethodRoutingCacheInvalidationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.cache
import java.util.UUID
diff --git a/obp-api/src/test/scala/code/api/cache/RedisDeserializeMissTest.scala b/obp-api/src/test/scala/code/api/cache/RedisDeserializeMissTest.scala
index 0cc4fb1160..81b1bd43da 100644
--- a/obp-api/src/test/scala/code/api/cache/RedisDeserializeMissTest.scala
+++ b/obp-api/src/test/scala/code/api/cache/RedisDeserializeMissTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.cache
import org.scalatest.{FlatSpec, Matchers}
diff --git a/obp-api/src/test/scala/code/api/dauthTest.scala b/obp-api/src/test/scala/code/api/dauthTest.scala
index d00c821aa1..04c8ad3827 100644
--- a/obp-api/src/test/scala/code/api/dauthTest.scala
+++ b/obp-api/src/test/scala/code/api/dauthTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api
import code.api.util.ErrorMessages
diff --git a/obp-api/src/test/scala/code/api/dynamic/entity/helper/SchemaCompatibleChangeSpec.scala b/obp-api/src/test/scala/code/api/dynamic/entity/helper/SchemaCompatibleChangeSpec.scala
index f9880588f1..9c6cab0560 100644
--- a/obp-api/src/test/scala/code/api/dynamic/entity/helper/SchemaCompatibleChangeSpec.scala
+++ b/obp-api/src/test/scala/code/api/dynamic/entity/helper/SchemaCompatibleChangeSpec.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.dynamic.entity.helper
import org.scalatest.{FlatSpec, Matchers}
diff --git a/obp-api/src/test/scala/code/api/dynamic/entity/projection/ProjectionNamingSpec.scala b/obp-api/src/test/scala/code/api/dynamic/entity/projection/ProjectionNamingSpec.scala
index f3108b1d61..0b8cef65f5 100644
--- a/obp-api/src/test/scala/code/api/dynamic/entity/projection/ProjectionNamingSpec.scala
+++ b/obp-api/src/test/scala/code/api/dynamic/entity/projection/ProjectionNamingSpec.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.dynamic.entity.projection
import org.scalatest.{FlatSpec, Matchers}
diff --git a/obp-api/src/test/scala/code/api/dynamic/entity/projection/ProjectionSqlSpec.scala b/obp-api/src/test/scala/code/api/dynamic/entity/projection/ProjectionSqlSpec.scala
index b19f696797..a9ab761abb 100644
--- a/obp-api/src/test/scala/code/api/dynamic/entity/projection/ProjectionSqlSpec.scala
+++ b/obp-api/src/test/scala/code/api/dynamic/entity/projection/ProjectionSqlSpec.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.dynamic.entity.projection
import code.api.dynamic.entity.query._
diff --git a/obp-api/src/test/scala/code/api/dynamic/entity/query/JoinQuerySpec.scala b/obp-api/src/test/scala/code/api/dynamic/entity/query/JoinQuerySpec.scala
index c55a2d362c..53dfd927c1 100644
--- a/obp-api/src/test/scala/code/api/dynamic/entity/query/JoinQuerySpec.scala
+++ b/obp-api/src/test/scala/code/api/dynamic/entity/query/JoinQuerySpec.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.dynamic.entity.query
import com.openbankproject.commons.model.enums.DynamicEntityFieldType
diff --git a/obp-api/src/test/scala/code/api/dynamic/entity/query/QuerySpec.scala b/obp-api/src/test/scala/code/api/dynamic/entity/query/QuerySpec.scala
index 5694860404..cb8f04a3bb 100644
--- a/obp-api/src/test/scala/code/api/dynamic/entity/query/QuerySpec.scala
+++ b/obp-api/src/test/scala/code/api/dynamic/entity/query/QuerySpec.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.dynamic.entity.query
import com.openbankproject.commons.model.enums.DynamicEntityFieldType
diff --git a/obp-api/src/test/scala/code/api/gateWayloginTest.scala b/obp-api/src/test/scala/code/api/gateWayloginTest.scala
index 236338d49c..eeedce3b3c 100644
--- a/obp-api/src/test/scala/code/api/gateWayloginTest.scala
+++ b/obp-api/src/test/scala/code/api/gateWayloginTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/http4sbridge/Http4sServerIntegrationTest.scala b/obp-api/src/test/scala/code/api/http4sbridge/Http4sServerIntegrationTest.scala
index 2b2f8b04f7..9852f32fe9 100644
--- a/obp-api/src/test/scala/code/api/http4sbridge/Http4sServerIntegrationTest.scala
+++ b/obp-api/src/test/scala/code/api/http4sbridge/Http4sServerIntegrationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.http4sbridge
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/sweep/AuthSweepTest.scala b/obp-api/src/test/scala/code/api/sweep/AuthSweepTest.scala
index 6d1a29c275..73b81365a1 100644
--- a/obp-api/src/test/scala/code/api/sweep/AuthSweepTest.scala
+++ b/obp-api/src/test/scala/code/api/sweep/AuthSweepTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.sweep
import cats.effect.IO
diff --git a/obp-api/src/test/scala/code/api/sweep/EndpointCatalog.scala b/obp-api/src/test/scala/code/api/sweep/EndpointCatalog.scala
index c5bba1dd2a..35f42840a7 100644
--- a/obp-api/src/test/scala/code/api/sweep/EndpointCatalog.scala
+++ b/obp-api/src/test/scala/code/api/sweep/EndpointCatalog.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.sweep
// EndpointAuthMode and its four cases are members of the APIUtil object, not of the package.
diff --git a/obp-api/src/test/scala/code/api/sweep/EndpointCatalogTest.scala b/obp-api/src/test/scala/code/api/sweep/EndpointCatalogTest.scala
index aae0179f01..6a8848d5fa 100644
--- a/obp-api/src/test/scala/code/api/sweep/EndpointCatalogTest.scala
+++ b/obp-api/src/test/scala/code/api/sweep/EndpointCatalogTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.sweep
import code.setup.ServerSetupWithTestData
diff --git a/obp-api/src/test/scala/code/api/sweep/ExplicitTargetConsentUserSweepTest.scala b/obp-api/src/test/scala/code/api/sweep/ExplicitTargetConsentUserSweepTest.scala
new file mode 100644
index 0000000000..30af8c1702
--- /dev/null
+++ b/obp-api/src/test/scala/code/api/sweep/ExplicitTargetConsentUserSweepTest.scala
@@ -0,0 +1,354 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
+package code.api.sweep
+
+import java.io.File
+import java.util.Date
+
+import cats.effect.unsafe.IORuntime
+import code.accountapplication.AccountApplicationX
+import code.accountaccessrequest.AccountAccessRequestTrait
+import code.api.util.APIUtil.generateUUID
+import code.api.util.ErrorMessages.InvalidUserId
+import code.api.v1_4_0.JSONFactory1_4_0.CustomerFaceImageJson
+import code.api.v2_0_0.{CreateAccountJSON, CreateCustomerJson, CreateEntitlementJSON, CreateUserCustomerLinkJson}
+import code.api.v2_1_0.{CustomerCreditRatingJSON, PostCustomerJsonV210}
+import code.api.v3_1_0.{AccountApplicationJson, AccountApplicationUpdateStatusJson, CreateAccountRequestJsonV310}
+import code.api.v4_0_0.SettlementAccountRequestJson
+import code.api.v5_0_0.CreateAccountRequestJsonV500
+import code.api.v5_1_0.PostAccountAccessJsonV510
+import code.api.v6_0_0.JSONFactory600.{PostAccountAccessRequestJsonV600, PostApproveAccountAccessRequestJsonV600, PostGroupMembershipJsonV600}
+import code.api.v7_0_0.JSONFactory700.CreateAccountRequestJsonV700
+import code.model.dataAccess.ResourceUser
+import code.setup.{DefaultUsers, ServerSetupWithTestData}
+import code.users.Users
+import com.openbankproject.commons.model.{AmountOfMoneyJsonV121, ProductCode}
+import org.json4s.{Extraction, JValue}
+import org.json4s.native.JsonMethods.{compact, render}
+import org.scalatest.Tag
+
+import scala.io.Source
+
+/**
+ * Phase 3 of ON_BEHALF_OF_USER_ID_PLAN.md: an EXPLICIT user id naming a consent user is refused.
+ *
+ * The plan splits every user-reference column two ways. Where the caller means "me", the provider
+ * quietly redirects the write to the human the caller acts for (Phase 2) -- an agent that creates
+ * an account ends up with the human holding it, not the per-consent identity that dies with the
+ * Consent. Where the caller names someone ELSE by id, there is nothing to redirect to and silence
+ * would be wrong: the caller asked for a specific target, and if that target is an agent identity
+ * the request is a mistake the caller needs told about. So the endpoint answers 400 OBP-30107.
+ *
+ * Why a sweep and not a scenario per version file: the guard is nineteen near-identical three-line
+ * blocks spread over ten Http4s objects, and the failure mode that matters is not one of them
+ * being wrong -- it is a twentieth being added, or an existing one being dropped, with nobody
+ * noticing. So this suite pairs each probe with a source scan (the last scenario) that counts the
+ * guards in main and fails if the count and this table disagree.
+ *
+ * ── What each probe sends ──
+ *
+ * The caller is an ordinary human holding every role (SweepFixtures.omniscientCaller), NOT a
+ * consent user. That is the point: the guard is about the id in the request, not about who is
+ * asking. Everything else in the request is valid, so a 400 for any OTHER reason is a failed
+ * probe -- which is why the assertion checks the message and not just the status. Several of
+ * these guards sit behind other checks that fire first (v1.4.0/v2.0.0/v2.1.0 customer creation
+ * validate the customer number, v5.1.0 checks grant permission, v6.0.0 checks the maker/checker
+ * rule), and a probe that trips one of those would otherwise pass while testing nothing.
+ *
+ * ── The two guards that read a stored row ──
+ *
+ * updateAccountApplicationStatus and approveAccountAccessRequest do not take the target id from
+ * the request at all: they read it off a row written earlier, and refuse to act on it. Those
+ * rows are written here through their providers, because the creation-side guard means the API
+ * can no longer produce one -- which is exactly the situation those two guards exist for (a row
+ * that predates the guard, or arrived another way).
+ */
+class ExplicitTargetConsentUserSweepTest extends ServerSetupWithTestData with DefaultUsers with SweepFixtures {
+
+ object ExplicitTargetGuard extends Tag("ExplicitTargetGuard")
+
+ implicit val runtime: IORuntime = IORuntime.global
+
+ /**
+ * The phrase every one of the nineteen guard messages shares.
+ *
+ * The messages differ in their subject ("user_id", "target_user_id", "USER_ID", "The
+ * application's user") and in the sentence that follows, so the assertion anchors on the part
+ * that is common and on the error code. Asserting each message verbatim would make this suite
+ * fail on a reworded sentence, which is not the contract; the code and the reason are.
+ */
+ private val consentUserPhrase = "an agent identity minted by a Consent"
+
+ // ── fixtures ───────────────────────────────────────────────────────────────
+
+ /** A user minted by a Consent: CreatedByConsentId set, which is what isConsentUser reads. */
+ private def newConsentUser(): ResourceUser = {
+ val consent = code.consent.MappedConsent.create.mUserId(resourceUser1.userId).saveMe()
+ Users.users.vend.createResourceUser(
+ provider = "explicit-target-sweep-provider",
+ providerId = Some(generateUUID()),
+ createdByConsentId = Some(consent.consentId),
+ name = Some("explicit-target-sweep-agent"),
+ email = None,
+ userId = None,
+ createdByUserInvitationId = None,
+ company = None,
+ lastMarketingAgreementSignedDate = None
+ ).openOrThrowException("expected the consent user to be created")
+ }
+
+ private def bankId: String = realBankId.getOrElse(
+ fail("the fixtures created no bank, so no bank-scoped probe can reach its guard"))
+
+ private def accountId: String = realAccountId(bankId).getOrElse(
+ fail(s"the fixtures created no account at bank $bankId"))
+
+ private def faceImage = CustomerFaceImageJson("http://example.com/face.png", new Date())
+
+ private def money = AmountOfMoneyJsonV121("EUR", "0")
+
+ /** A customer number no earlier probe or fixture has used: checked before three of the guards. */
+ private def freshCustomerNumber: String = generateUUID().take(12)
+
+ // ── one probe ──────────────────────────────────────────────────────────────
+
+ private case class Probe(id: String, verb: String, path: String, body: Any)
+
+ private def bodyOf(probe: Probe): String = probe.body match {
+ case "" => ""
+ case b => compact(render(Extraction.decompose(b)))
+ }
+
+ /** A failure line, or None when the endpoint refused the consent user as it should. */
+ private def check(probe: Probe, headers: Map[String, String]): Option[String] = {
+ val (status, json) = callApi(probe.verb, probe.path, headers, bodyOf(probe))
+ val message = (json \ "message").extractOpt[String].getOrElse("")
+ val where = s"${probe.id} ${probe.verb} ${probe.path}"
+ if (status != 400)
+ Some(s"$where -> HTTP $status (expected 400): $message")
+ else if (!message.startsWith(InvalidUserId))
+ Some(s"$where -> 400 but for another reason, so the guard was never reached: $message")
+ else if (!message.contains(consentUserPhrase))
+ Some(s"$where -> 400 $InvalidUserId but not the consent-user guard: $message")
+ else None
+ }
+
+ private def sweep(probes: List[Probe]): Unit = {
+ // Granted per scenario, not per class: beforeEach wipes the entitlement table, so roles
+ // granted during an earlier scenario leave this one calling as an unentitled user -- which
+ // stops at 403 before any guard runs.
+ val headers = omniscientCaller
+ val failures = probes.flatMap(check(_, headers))
+ withClue(s"${failures.size} of ${probes.size} explicit-target guards did not refuse a " +
+ s"consent user. Each line is the endpoint, what it answered, and why that is not " +
+ s"the guard firing:\n${failures.mkString("\n")}\n") {
+ failures shouldBe empty
+ }
+ }
+
+ // ── the probes ─────────────────────────────────────────────────────────────
+
+ feature("An explicit user id naming a consent user is refused with 400 OBP-30107") {
+
+ scenario("entitlements and group membership", ExplicitTargetGuard) {
+ val agentId = newConsentUser().userId
+ sweep(List(
+ Probe("OBPv2.0.0-addEntitlement", "POST", s"/obp/v2.0.0/users/$agentId/entitlements",
+ CreateEntitlementJSON(bank_id = "", role_name = "CanGetAnyUser")),
+ Probe("OBPv7.0.0-addEntitlement", "POST", s"/obp/v7.0.0/users/$agentId/entitlements",
+ CreateEntitlementJSON(bank_id = "", role_name = "CanGetAnyUser")),
+ // The group does not exist; the guard runs before the group is looked up, which is the
+ // ordering the endpoint intends -- a bad target is the caller's error either way.
+ Probe("OBPv6.0.0-addUserToGroup", "POST", s"/obp/v6.0.0/users/$agentId/group-entitlements",
+ PostGroupMembershipJsonV600(group_id = generateUUID()))
+ ))
+ }
+
+ scenario("customer creation", ExplicitTargetGuard) {
+ val agentId = newConsentUser().userId
+ def v200Body = CreateCustomerJson(
+ title = "Dr", branchId = "", nameSuffix = "", user_id = agentId,
+ customer_number = freshCustomerNumber, legal_name = "Explicit Target Sweep",
+ mobile_phone_number = "+49 123 456", email = "explicit-target-sweep@example.com",
+ face_image = faceImage, date_of_birth = new Date(), relationship_status = "single",
+ dependants = 0, dob_of_dependants = Nil, highest_education_attained = "Bachelor",
+ employment_status = "employed", kyc_status = true, last_ok_date = new Date())
+ sweep(List(
+ Probe("OBPv1.4.0-addCustomer", "POST", s"/obp/v1.4.0/banks/$bankId/customer", v200Body),
+ Probe("OBPv2.0.0-createCustomer", "POST", s"/obp/v2.0.0/banks/$bankId/customers", v200Body),
+ Probe("OBPv2.1.0-createCustomer", "POST", s"/obp/v2.1.0/banks/$bankId/customers",
+ PostCustomerJsonV210(
+ user_id = agentId, customer_number = freshCustomerNumber,
+ legal_name = "Explicit Target Sweep", mobile_phone_number = "+49 123 456",
+ email = "explicit-target-sweep@example.com", face_image = faceImage,
+ date_of_birth = new Date(), relationship_status = "single", dependants = 0,
+ dob_of_dependants = Nil, credit_rating = CustomerCreditRatingJSON("OBP", "OBP"),
+ credit_limit = money, highest_education_attained = "Bachelor",
+ employment_status = "employed", kyc_status = true, last_ok_date = new Date()))
+ ))
+ }
+
+ scenario("user-customer links", ExplicitTargetGuard) {
+ val agentId = newConsentUser().userId
+ // customer_id is present but nonexistent: both versions check the user before the customer,
+ // which is what makes a link to an agent identity impossible to create even by accident.
+ val body = CreateUserCustomerLinkJson(user_id = agentId, customer_id = generateUUID())
+ sweep(List(
+ Probe("OBPv2.0.0-createUserCustomerLinks", "POST", s"/obp/v2.0.0/banks/$bankId/user_customer_links", body),
+ Probe("OBPv4.0.0-createUserCustomerLinks", "POST", s"/obp/v4.0.0/banks/$bankId/user_customer_links", body)
+ ))
+ }
+
+ scenario("account creation", ExplicitTargetGuard) {
+ val agentId = newConsentUser().userId
+ def v310Body = CreateAccountRequestJsonV310(
+ user_id = agentId, label = "explicit target sweep", product_code = "1234BW",
+ balance = money, branch_id = "", account_routings = Nil)
+ sweep(List(
+ Probe("OBPv2.0.0-createAccount", "PUT", s"/obp/v2.0.0/banks/$bankId/accounts/${generateUUID()}",
+ CreateAccountJSON(user_id = agentId, label = "explicit target sweep", `type` = "CURRENT", balance = money)),
+ Probe("OBPv3.1.0-createAccount", "PUT", s"/obp/v3.1.0/banks/$bankId/accounts/${generateUUID()}", v310Body),
+ Probe("OBPv4.0.0-addAccount", "POST", s"/obp/v4.0.0/banks/$bankId/accounts", v310Body),
+ Probe("OBPv4.0.0-createSettlementAccount", "POST", s"/obp/v4.0.0/banks/$bankId/settlement-accounts",
+ SettlementAccountRequestJson(
+ user_id = agentId, payment_system = "SEPA", balance = money,
+ label = "explicit target sweep", branch_id = "", account_routings = Nil)),
+ Probe("OBPv5.0.0-createAccount", "PUT", s"/obp/v5.0.0/banks/$bankId/accounts/${generateUUID()}",
+ CreateAccountRequestJsonV500(
+ user_id = Some(agentId), label = "explicit target sweep", product_code = "1234BW",
+ balance = Some(money), branch_id = Some(""), account_routings = Some(Nil))),
+ // v7 registers the same handler twice, POST without an account id and PUT with one, and
+ // the PUT arm runs an account-id check before the guard -- so both arms are probed.
+ Probe("OBPv7.0.0-createAccountV700", "POST", s"/obp/v7.0.0/banks/$bankId/accounts",
+ CreateAccountRequestJsonV700(
+ user_id = Some(agentId), label = "explicit target sweep", product_code = "1234BW",
+ balance = money, branch_id = Some(""), account_routings = Some(Nil))),
+ Probe("OBPv7.0.0-createAccountWithIdV700", "PUT", s"/obp/v7.0.0/banks/$bankId/accounts/${generateUUID()}",
+ CreateAccountRequestJsonV700(
+ user_id = Some(agentId), label = "explicit target sweep", product_code = "1234BW",
+ balance = money, branch_id = Some(""), account_routings = Some(Nil)))
+ ))
+ }
+
+ scenario("account applications, including one already stored against a consent user", ExplicitTargetGuard) {
+ val agentId = newConsentUser().userId
+
+ // The update-side guard reads the application's user, not the request, so the row has to
+ // exist first -- and the creation-side guard below means the API can no longer write one.
+ val storedApplication = scala.concurrent.Await.result(
+ AccountApplicationX.accountApplication.vend.createAccountApplication(
+ ProductCode("1234BW"), Some(agentId), None),
+ scala.concurrent.duration.Duration(30, "seconds")
+ ).openOrThrowException("expected the account application to be created")
+
+ sweep(List(
+ Probe("OBPv3.1.0-createAccountApplication", "POST", s"/obp/v3.1.0/banks/$bankId/account-applications",
+ AccountApplicationJson(product_code = "1234BW", user_id = Some(agentId), customer_id = None)),
+ Probe("OBPv3.1.0-updateAccountApplicationStatus", "PUT",
+ s"/obp/v3.1.0/banks/$bankId/account-applications/${storedApplication.accountApplicationId}",
+ AccountApplicationUpdateStatusJson(status = "ACCEPTED"))
+ ))
+ }
+
+ scenario("account access, including a request already stored against a consent user", ExplicitTargetGuard) {
+ val agentId = newConsentUser().userId
+
+ // requestorUserId is user2 so the approval probe passes the maker/checker check as user1,
+ // which runs before the guard it is aiming at.
+ val storedRequest = AccountAccessRequestTrait.accountAccessRequest.vend.createAccountAccessRequest(
+ bankId = bankId, accountId = accountId, viewId = "owner", isSystemView = true,
+ requestorUserId = resourceUser2.userId, targetUserId = agentId,
+ businessJustification = "explicit target sweep"
+ ).openOrThrowException("expected the account access request to be created")
+
+ sweep(List(
+ Probe("OBPv5.1.0-grantUserAccessToViewById", "POST",
+ s"/obp/v5.1.0/banks/$bankId/accounts/$accountId/views/owner/account-access/grant",
+ PostAccountAccessJsonV510(user_id = agentId, view_id = "owner")),
+ Probe("OBPv6.0.0-createAccountAccessRequest", "POST",
+ s"/obp/v6.0.0/banks/$bankId/accounts/$accountId/account-access-requests",
+ PostAccountAccessRequestJsonV600(
+ target_user_id = agentId, view_id = "owner", is_system_view = true,
+ business_justification = "explicit target sweep")),
+ Probe("OBPv6.0.0-approveAccountAccessRequest", "POST",
+ s"/obp/v6.0.0/banks/$bankId/accounts/$accountId/account-access-requests/" +
+ s"${storedRequest.accountAccessRequestId}/approval",
+ PostApproveAccountAccessRequestJsonV600(comment = Some("explicit target sweep")))
+ ))
+ }
+ }
+
+ // ── completeness ───────────────────────────────────────────────────────────
+
+ feature("Every explicit-target guard in the codebase is probed above") {
+
+ /**
+ * The scenarios above are a hand-written table, and a hand-written table of nineteen
+ * near-identical things drifts. A twentieth guard added next month is not covered by
+ * anything here, and nothing says so -- the suite stays green while its subject grows.
+ *
+ * So the guards are counted at their source. Every one is a booleanToFuture whose message
+ * interpolates InvalidUserId and names the agent identity, which is a shape no other code in
+ * the tree has: the only two other uses of that phrase are endpoint descriptions, and they
+ * carry no error code. Counting is enough -- WHICH guards exist is pinned by the probes
+ * themselves, each of which fails if its endpoint stops refusing.
+ */
+ scenario("the guard count in main matches the number of probes", ExplicitTargetGuard) {
+ val root = List(new File("src/main/scala/code/api"), new File("obp-api/src/main/scala/code/api"))
+ .find(_.isDirectory)
+ .getOrElse(fail("cannot locate the api sources - this guard must not pass by failing to look"))
+
+ def scalaFilesUnder(dir: File): List[File] =
+ Option(dir.listFiles).toList.flatten.flatMap { f =>
+ if (f.isDirectory) scalaFilesUnder(f)
+ else if (f.getName.endsWith(".scala")) List(f) else Nil
+ }
+
+ val guardLines = scalaFilesUnder(root).flatMap { f =>
+ val source = Source.fromFile(f, "UTF-8")
+ try source.getLines().toList.zipWithIndex
+ .filter { case (line, _) => line.contains(consentUserPhrase) && line.contains("InvalidUserId") }
+ .map { case (_, i) => s"${f.getPath}:${i + 1}" }
+ finally source.close()
+ }
+
+ // Twenty probes cover nineteen guards: v7.0.0 registers createAccountV700 (POST) and
+ // createAccountWithIdV700 (PUT) over one shared createAccountCommon, so the two probes
+ // reach the same guard by two different routes -- the PUT arm validates the account id
+ // first, which is the part worth probing separately.
+ val guardsInMain = 19
+
+ withClue(s"found ${guardLines.size} explicit-target guards in main, but this suite is " +
+ s"written against $guardsInMain. A guard added without a probe is untested; a " +
+ s"probe left behind after a guard is removed asserts nothing. Guards found:\n" +
+ s"${guardLines.mkString("\n")}\n") {
+ guardLines.size shouldBe guardsInMain
+ }
+ }
+ }
+}
diff --git a/obp-api/src/test/scala/code/api/sweep/FailureSweepTest.scala b/obp-api/src/test/scala/code/api/sweep/FailureSweepTest.scala
index b941e1082e..2f08271d8d 100644
--- a/obp-api/src/test/scala/code/api/sweep/FailureSweepTest.scala
+++ b/obp-api/src/test/scala/code/api/sweep/FailureSweepTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.sweep
import cats.effect.IO
diff --git a/obp-api/src/test/scala/code/api/sweep/OnBehalfOfOwnershipSweepTest.scala b/obp-api/src/test/scala/code/api/sweep/OnBehalfOfOwnershipSweepTest.scala
new file mode 100644
index 0000000000..645d2a38ef
--- /dev/null
+++ b/obp-api/src/test/scala/code/api/sweep/OnBehalfOfOwnershipSweepTest.scala
@@ -0,0 +1,438 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
+package code.api.sweep
+
+import java.io.File
+
+import bootstrap.liftweb.ToSchemify
+import cats.effect.unsafe.IORuntime
+import code.accountholders.AccountHolders
+import code.api.RequestHeader
+import code.api.util.APIUtil.generateUUID
+import code.api.util.{Consent, DBUtil}
+import code.api.v3_1_0.ConsentJsonV310
+import code.api.v4_0_0.PostApiCollectionJson400
+import code.api.v7_0_0.JSONFactory700.CreateAccountRequestJsonV700
+import code.setup.{DefaultUsers, ServerSetupWithTestData}
+import code.users.{AttributionPolicy, UserReference}
+import com.openbankproject.commons.model.{AccountId, AmountOfMoneyJsonV121, BankId}
+import net.liftweb.mapper.MetaMapper
+import org.json4s.{Extraction, JValue}
+import org.json4s.JsonAST.{JArray, JObject}
+import org.json4s.JsonDSL._
+import org.json4s.native.JsonMethods.{compact, render}
+import org.scalatest.Tag
+
+import scala.io.Source
+
+/**
+ * Phase 4 item 3 of ON_BEHALF_OF_USER_ID_PLAN.md: what a consent user creates is owned by the human.
+ *
+ * The complement of ExplicitTargetConsentUserSweepTest. That suite covers the half of the doctrine
+ * where the caller names a target by id and is refused; this one covers the half where the caller
+ * means "me" and the provider silently redirects the write to the human the Consent was granted by.
+ * The caller here IS a consent user, driven by a real Consent JWT minted over the wire.
+ *
+ * ── Why this is a ratchet and not the sweep the plan described ──
+ *
+ * The plan says: "call every UseOnBehalfOfUserId create endpoint with the consent JWT; assert no
+ * row in any such table references the consent user's id". Taken literally that suite is red on the
+ * day it is written and stays red for months: of the 53 UseOnBehalfOfUserId references,
+ * FIVE are wired today (TransactionRequest, EntitlementUser, AccountHolderUser,
+ * UserCustomerLinkUser, DynamicEntityUser/DynamicDataUser -- Phase 2 rows 1 to 3). A permanently
+ * red suite is one people learn to ignore, which is the same reasoning AuthSweepTest's
+ * expectedAuthDeviation records for its own two entries.
+ *
+ * So the shape is: an explicit inventory of what is NOT yet wired, which may only shrink. Three
+ * scenarios, each answering a different question:
+ *
+ * 1. INVENTORY (source scan). Every reference is either used somewhere in main, or listed in
+ * notYetWired with a reason. A reference that is neither fails -- that is a new table nobody
+ * decided about. A listed reference that HAS become used also fails, so wiring one up forces
+ * the list to shrink and the list can never quietly outlive the gap it describes.
+ *
+ * 2. OWNERSHIP (runtime, the real property). A consent user creates an account over HTTP; the
+ * account holder must be the human, and no row anywhere in any UseOnBehalfOfUserId column may
+ * reference the consent user -- except in the tables the inventory says are not wired yet.
+ *
+ * 3. THE SCAN ITSELF WORKS (runtime, negative control). The same consent user creates an API
+ * collection, whose reference (ApiCollectionUser) is NOT wired. The scan must find that row.
+ * Without this, scenario 2 passes just as happily if the scan is silently looking at nothing --
+ * which is the failure mode a table-driven assertion has and a hand-written one does not.
+ */
+class OnBehalfOfOwnershipSweepTest extends ServerSetupWithTestData with DefaultUsers with SweepFixtures {
+
+ object OnBehalfOfOwnership extends Tag("OnBehalfOfOwnership")
+
+ implicit val runtime: IORuntime = IORuntime.global
+
+ private val mechanicalBatch =
+ "Phase 2 mechanical batch: the provider does not call attributionOf yet, so a consent user's " +
+ "row is stored against the consent user and dies with the Consent."
+
+ /**
+ * References whose provider does not consult the resolver yet (Phase 2 is incremental).
+ *
+ * Written out by hand rather than derived from "what main does not reference". A derived list
+ * would agree with reality by construction: the undecided check could never fail, because
+ * anything missing would be added to the list at the same moment; and the staleness check could
+ * never fail either. Both assertions would be checking the list against a copy of itself, which
+ * is the failure mode SweepCoverageDriftCheckTest exists to prevent elsewhere in this package.
+ * Spelling the names out is what makes adding a table a decision somebody has to take.
+ *
+ * This list may only shrink.
+ */
+ private val notYetWired: Map[String, String] = Map(
+ "AccountApplicationUser" -> mechanicalBatch,
+ "AccountAccessRequestRequestor" -> mechanicalBatch,
+ "AccountAccessRequestChecker" -> mechanicalBatch,
+ "DynamicChangeRequestRequestor" -> mechanicalBatch,
+ "DynamicChangeRequestChecker" -> mechanicalBatch,
+ "EntitlementRequestUser" -> mechanicalBatch,
+ "UserScopeUser" -> mechanicalBatch,
+ "ApiCollectionUser" -> mechanicalBatch,
+ "UserAttributeUser" -> mechanicalBatch,
+ "UserAgreementUser" -> mechanicalBatch,
+ "UserInitActionUser" -> mechanicalBatch,
+ "UserAuthContextUser" -> mechanicalBatch,
+ "UserAuthContextUpdateUser" -> mechanicalBatch,
+ "DynamicDataAccessUser" -> mechanicalBatch,
+ "DynamicEndpointUser" -> mechanicalBatch,
+ "DynamicResourceDocCreator" -> mechanicalBatch,
+ "DynamicMessageDocCreator" -> mechanicalBatch,
+ "ConnectorMethodCreator" -> mechanicalBatch,
+ "AbacRuleCreator" -> mechanicalBatch,
+ "CounterpartyCreator" -> mechanicalBatch,
+ "CounterpartyWhereTagUser" -> mechanicalBatch,
+ "ApiProductSubscriptionCreator" -> mechanicalBatch,
+ "DynamicGlossaryItemCreator" -> mechanicalBatch,
+ "OrganisationCreator" -> mechanicalBatch,
+ "PayeeLookupCreator" -> mechanicalBatch,
+ "RoutingSchemeCreator" -> mechanicalBatch,
+ "UtilityPaymentCallbackCreator" -> mechanicalBatch,
+ "StandingOrderUser" -> mechanicalBatch,
+ "DirectDebitUser" -> mechanicalBatch,
+ "MandateCreator" -> mechanicalBatch,
+ "SignatoryPanelUsers" -> mechanicalBatch,
+ "AccountWebhookCreator" -> mechanicalBatch,
+ "SystemAccountNotificationWebhookCreator" -> mechanicalBatch,
+ "BankAccountNotificationWebhookCreator" -> mechanicalBatch,
+ "ChatRoomCreator" -> mechanicalBatch,
+ "ChatParticipantUser" -> mechanicalBatch,
+ "ChatReactionUser" -> mechanicalBatch,
+ "ChatEmailDigestStateUser" -> mechanicalBatch,
+ "ChatMessageMentionedUsers" -> mechanicalBatch,
+ "CrmEventUser" -> mechanicalBatch,
+ "KycCheckUser" -> mechanicalBatch,
+ "KycCheckStaff" -> mechanicalBatch,
+ "KycDocumentUser" -> mechanicalBatch,
+ "KycStatusUser" -> mechanicalBatch,
+ "SocialMediaUser" -> mechanicalBatch,
+ "CustomerMessageUser" -> mechanicalBatch,
+ "MeetingCustomerUser" -> mechanicalBatch,
+ "MeetingStaffUser" -> mechanicalBatch,
+ "TagUser" -> mechanicalBatch,
+ "WhereTagUser" -> mechanicalBatch,
+ "TransactionImageUser" -> mechanicalBatch,
+ "BankCreator" ->
+ ("seen in the wild 2026-09-03: a bank created through a Consent has createdbyuserid = the " +
+ "consent user. Nothing breaks today because createMyBank's self-service limit counts via " +
+ "humanAndAgentUserIds, but 'banks created by me' reads will miss it."),
+ "AccountAccessRequestTarget" ->
+ ("explicit target, so the endpoint refuses a consent user rather than redirecting -- covered " +
+ "by ExplicitTargetConsentUserSweepTest. The provider redirect is unreachable from the API."),
+ "ConsentCreator" ->
+ ("Reject, not yet enforced: a consent user can still create a Consent (nested delegation). " +
+ "attributionOf already returns Failure for it -- AgentDelegationTest pins that -- but no " +
+ "caller consults it. ON_BEHALF_OF_USER_ID_PLAN.md Phase 3, still open."),
+ "OAuthConsumerCreator" -> "Reject, not yet enforced: no caller consults attributionOf.",
+ "OAuthTokenUser" -> "Reject, not yet enforced: no caller consults attributionOf."
+ )
+
+ // ── which references main actually uses ────────────────────────────────────
+
+ private def mainSourceRoot: File =
+ List(new File("src/main/scala/code"), new File("obp-api/src/main/scala/code"))
+ .find(_.isDirectory)
+ .getOrElse(fail("cannot locate the main sources - this guard must not pass by failing to look"))
+
+ private def scalaFilesUnder(dir: File): List[File] =
+ Option(dir.listFiles).toList.flatten.flatMap { f =>
+ if (f.isDirectory) scalaFilesUnder(f)
+ else if (f.getName.endsWith(".scala")) List(f) else Nil
+ }
+
+ /**
+ * Reference names mentioned anywhere in main outside the policy file itself.
+ *
+ * "Mentioned" is weaker than "applied correctly" -- a provider could name the reference and still
+ * store the wrong id. That stronger question is what scenario 2 answers at runtime; this one only
+ * has to separate "somebody has been here" from "nobody has", which is exactly what the ratchet
+ * needs to know.
+ */
+ private lazy val usedInMain: Set[String] = {
+ val names = UserReference.all.map(_.name).toSet
+ val pattern = """UserReference\.([A-Za-z]+)""".r
+ scalaFilesUnder(mainSourceRoot)
+ .filterNot(_.getPath.endsWith("code/users/UserReference.scala"))
+ .flatMap { f =>
+ val source = Source.fromFile(f, "UTF-8")
+ try pattern.findAllMatchIn(source.mkString).map(_.group(1)).toList finally source.close()
+ }
+ .toSet
+ .intersect(names)
+ }
+
+ // ── the leak scan ──────────────────────────────────────────────────────────
+
+ private lazy val metaByClassName: Map[String, MetaMapper[_]] =
+ ToSchemify.models.map(meta => meta.getClass.getName.stripSuffix("$") -> meta).toMap
+
+ /**
+ * How to tell two references apart when they name the SAME column with different policies.
+ *
+ * MappedEntitlement.mUserId is the one case in the policy file: EntitlementUser
+ * (UseOnBehalfOfUserId, the role holder) and ConsentEntitlementUser (KeepUserId, the consent
+ * engine copying the Consent's own scope onto the consent user). MappedEntitlements.addEntitlement
+ * picks between them on createdByProcess, so a scan of that column that does not apply the same
+ * discriminator reports every consent's own materialised scope as a leak -- which it is not; those
+ * rows are meant to be on the consent user and are revoked with it.
+ *
+ * Reference name -> (discriminator field, the value that belongs to the OTHER reference).
+ */
+ private val sharedColumnDiscriminator: Map[String, (String, String)] = Map(
+ "EntitlementUser" -> ("mCreatedByProcess", code.api.Constant.consent_user)
+ )
+
+ /** Columns named by references that disagree on policy, so the scan must be told how to split them. */
+ private lazy val sharedColumns: List[(String, List[UserReference])] =
+ UserReference.all
+ .flatMap(ref => ref.fields.map(field => s"${ref.mapperClass}.$field" -> ref))
+ .groupBy(_._1).toList
+ .map { case (column, pairs) => column -> pairs.map(_._2) }
+ .filter { case (_, refs) => refs.map(_.policy).distinct.size > 1 }
+ .sortBy(_._1)
+
+ /**
+ * Every reference whose column holds a value pointing at `user`.
+ *
+ * Read as SQL rather than through the Mapper because the columns are not one type: some hold the
+ * user_id string, some are a MappedLongForeignKey to ResourceUser's primary key
+ * (MapperAccountHolders.user is the one that matters here), and one holds a list of ids
+ * (SignatoryPanel.UserIds). DBUtil.runQuery stringifies every column, so one comparison covers
+ * all three: equal to the primary key, or containing the user_id.
+ */
+ private def referencesOwnedBy(userId: String, primaryKey: String): List[String] =
+ for {
+ ref <- UserReference.byPolicy(AttributionPolicy.UseOnBehalfOfUserId)
+ meta <- metaByClassName.get(ref.mapperClass).toList
+ field <- ref.fields.flatMap(name => meta.mappedFields.find(_.name == name))
+ where = sharedColumnDiscriminator.get(ref.name).flatMap { case (discriminator, otherValue) =>
+ meta.mappedFields.find(_.name == discriminator).map(d =>
+ s" WHERE ${d.dbColumnName} IS NULL OR ${d.dbColumnName} <> '$otherValue'")
+ }.getOrElse("")
+ values = DBUtil.runQuery(s"SELECT ${field.dbColumnName} FROM ${meta.dbTableName}$where")._2.flatten
+ if values.exists(v => v == primaryKey || v.contains(userId))
+ } yield ref.name
+
+ // ── minting a consent user over the wire ───────────────────────────────────
+
+ private def consumerKeyHeader: Map[String, String] =
+ Map(RequestHeader.`Consumer-Key` -> testConsumer.key.get)
+
+ private def consentBody(entitlements: List[(String, String)]): String = {
+ val json: JObject =
+ ("everything" -> false) ~
+ ("views" -> JArray(Nil)) ~
+ ("entitlements" -> JArray(entitlements.map { case (bank, role) =>
+ ("bank_id" -> bank) ~ ("role_name" -> role) })) ~
+ ("consumer_id" -> testConsumer.consumerId.get) ~
+ ("time_to_live" -> 3600)
+ compact(render(json))
+ }
+
+ /**
+ * A Consent granted by resourceUser1, answered, as request headers.
+ *
+ * A Consent can only carry roles its granting User already holds, so omniscientCaller runs first.
+ */
+ private def consentUserHeaders(entitlements: List[(String, String)]): Map[String, String] = {
+ setPropsValues(
+ "consents.allowed" -> "true",
+ "consumer_validation_method_for_consent" -> "CONSUMER_KEY_VALUE")
+ val humanHeaders = omniscientCaller ++ consumerKeyHeader
+
+ val (createdStatus, createdBody) = callApi(
+ "POST", "/obp/v6.0.0/my/consents/IMPLICIT", humanHeaders, consentBody(entitlements))
+ withClue(s"could not create the Consent: $createdBody ") { createdStatus should equal(201) }
+ val consent = createdBody.extract[ConsentJsonV310]
+
+ val (answeredStatus, answeredBody) = callApi(
+ "POST", s"/obp/v5.1.0/banks/$bankId/consents/${consent.consent_id}/challenge", humanHeaders,
+ compact(render(("answer" -> Consent.challengeAnswerAtTestEnvironment): JObject)))
+ withClue(s"could not answer the Consent challenge: $answeredBody ") { answeredStatus should equal(201) }
+
+ Map(RequestHeader.`Consent-JWT` -> consent.jwt) ++ consumerKeyHeader
+ }
+
+ /** The consent user's own id, asked for the way an agent would ask: whoami. */
+ private def currentUserIdOf(headers: Map[String, String]): String = {
+ val (status, body) = callApi("GET", "/obp/v7.0.0/users/current", headers)
+ withClue(s"could not read the consent user's own id: $body ") { status should equal(200) }
+ (body \ "user_id").extract[String]
+ }
+
+ private def primaryKeyOf(userId: String): String =
+ code.model.dataAccess.ResourceUser
+ .find(net.liftweb.mapper.By(code.model.dataAccess.ResourceUser.userId_, userId))
+ .map(_.id.get.toString)
+ .openOrThrowException(s"expected a ResourceUser row for $userId")
+
+ private def bankId: String = realBankId.getOrElse(
+ fail("the fixtures created no bank, so the consent cannot be scoped to one"))
+
+ private def bodyJson(value: Any): String = compact(render(Extraction.decompose(value)))
+
+ // ── scenarios ──────────────────────────────────────────────────────────────
+
+ feature("What a consent user creates is owned by the human it acts for") {
+
+ scenario("every UseOnBehalfOfUserId and Reject reference is wired, or listed as not yet wired", OnBehalfOfOwnership) {
+ val inScope = UserReference.all
+ .filter(ref => ref.policy == AttributionPolicy.UseOnBehalfOfUserId || ref.policy == AttributionPolicy.Reject)
+
+ val undecided = inScope.map(_.name)
+ .filterNot(usedInMain.contains)
+ .filterNot(notYetWired.contains)
+ .sorted
+ withClue(
+ s"""|${undecided.size} reference(s) are neither wired nor listed as not-yet-wired. A new
+ |table whose owner column nobody has decided about strands rows on consent users
+ |silently. Wire the provider, or add the reference to notYetWired with the reason:
+ |${undecided.map(n => s" $n").mkString("\n")}
+ |""".stripMargin) {
+ undecided shouldBe empty
+ }
+
+ val stale = notYetWired.keys.toList.filter(usedInMain.contains).sorted
+ withClue(
+ s"""|${stale.size} notYetWired entr(ies) name a reference that main now uses. This list may
+ |only shrink -- a stale exemption is an assertion that has stopped asserting. Remove
+ |these, and check scenario 2's allowlist no longer needs them either:
+ |${stale.map(n => s" $n").mkString("\n")}
+ |""".stripMargin) {
+ stale shouldBe empty
+ }
+
+ info(s"${usedInMain.size} of ${UserReference.all.size} references are wired; " +
+ s"${notYetWired.size} are listed as not yet wired")
+ }
+
+ // UserReferenceAttributionPolicyTest already refuses two references on one column with the SAME
+ // policy. This is the other half of that: where they differ, the leak scan cannot read the
+ // column as a whole and has to be told the discriminator the provider uses.
+ scenario("the leak scan knows how to split every column shared by two policies", OnBehalfOfOwnership) {
+ val unsplit = sharedColumns.filterNot { case (_, refs) =>
+ refs.exists(ref => sharedColumnDiscriminator.contains(ref.name))
+ }.map { case (column, refs) => s" $column -> ${refs.map(r => s"${r.name} (${r.policy})").sorted.mkString(", ")}" }
+
+ withClue(
+ s"""|${unsplit.size} column(s) are named by references with different policies, but the scan
+ |has no discriminator for them -- so it would read the KeepUserId rows as leaks from the
+ |UseOnBehalfOfUserId reference, or miss real leaks by widening the exemption. Add an entry
+ |to sharedColumnDiscriminator naming the field the provider branches on:
+ |${unsplit.mkString("\n")}
+ |""".stripMargin) {
+ unsplit shouldBe empty
+ }
+ }
+
+ scenario("an account created by a consent user is held by the human, and strands nothing", OnBehalfOfOwnership) {
+ val headers = consentUserHeaders(List(bankId -> "CanCreateAccount"))
+ val agentId = currentUserIdOf(headers)
+ val agentKey = primaryKeyOf(agentId)
+
+ withClue("the Consent JWT must authenticate as a DIFFERENT user from the human that granted " +
+ "it, otherwise this scenario is testing nothing: ") {
+ agentId should not equal resourceUser1.userId
+ }
+
+ val (status, body) = callApi("POST", s"/obp/v7.0.0/banks/$bankId/accounts", headers,
+ bodyJson(CreateAccountRequestJsonV700(
+ user_id = None, // implicit self: the redirect is the whole point
+ label = "on behalf of ownership sweep",
+ product_code = "1234BW",
+ balance = AmountOfMoneyJsonV121("EUR", "0"),
+ branch_id = Some(""),
+ account_routings = Some(Nil))))
+ withClue(s"the consent user could not create an account: $body ") { status should equal(201) }
+
+ val accountId = (body \ "account_id").extract[String]
+ val holders = AccountHolders.accountHolders.vend
+ .getAccountHolders(BankId(bankId), AccountId(accountId)).map(_.userId)
+
+ withClue(s"the account the agent created is held by $holders: ") {
+ holders should contain(resourceUser1.userId)
+ holders should not contain agentId
+ }
+
+ val leaked = referencesOwnedBy(agentId, agentKey).filterNot(notYetWired.contains)
+ withClue(
+ s"""|${leaked.size} wired reference(s) still hold rows owned by the consent user
+ |$agentId (primary key $agentKey). Those rows die with the Consent:
+ |${leaked.map(n => s" $n").mkString("\n")}
+ |""".stripMargin) {
+ leaked shouldBe empty
+ }
+ }
+
+ // Without this, the scenario above passes just as happily when the scan reads nothing at all.
+ scenario("the scan detects a row that IS owned by the consent user", OnBehalfOfOwnership) {
+ val headers = consentUserHeaders(Nil)
+ val agentId = currentUserIdOf(headers)
+ val agentKey = primaryKeyOf(agentId)
+
+ withClue("ApiCollectionUser must still be unwired for this control to mean anything; " +
+ "once it is wired, replace it here with another unwired reference: ") {
+ usedInMain should not contain "ApiCollectionUser"
+ }
+
+ val (status, body) = callApi("POST", "/obp/v4.0.0/my/api-collections", headers,
+ bodyJson(PostApiCollectionJson400(
+ api_collection_name = generateUUID().take(12),
+ is_sharable = true,
+ description = Some("on behalf of ownership sweep"))))
+ withClue(s"the consent user could not create an api collection: $body ") { status should equal(201) }
+
+ withClue("the api collection was stored against the consent user, but the scan did not see " +
+ "it -- so the scan in the scenario above is not looking where it claims to: ") {
+ referencesOwnedBy(agentId, agentKey) should contain("ApiCollectionUser")
+ }
+ }
+ }
+}
diff --git a/obp-api/src/test/scala/code/api/sweep/SuccessSweepTest.scala b/obp-api/src/test/scala/code/api/sweep/SuccessSweepTest.scala
index f8fae207a7..f71090225d 100644
--- a/obp-api/src/test/scala/code/api/sweep/SuccessSweepTest.scala
+++ b/obp-api/src/test/scala/code/api/sweep/SuccessSweepTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.sweep
import cats.effect.IO
@@ -94,6 +121,7 @@ class SuccessSweepTest extends ServerSetupWithTestData with DefaultUsers with Sw
"OBPv4.0.0-getMyApiCollectionEndpoints" -> "400 OBP-30079: no ApiCollection named API_COLLECTION_NAME",
"OBPv6.0.0-getWebUiProp" -> "400 OBP-08003: no WebUi prop named WEBUI_PROP_NAME",
"OBPv7.0.0-getRoutingScheme" -> "404 OBP-30514: no routing scheme named SCHEME",
+ "OBPv7.0.0-getGlossaryItem" -> "404 OBP-30571: no Glossary Item titled TITLE",
"OBPv7.0.0-getDynamicGlossaryItem" -> ("404 OBP-30571: no Dynamic Glossary Item titled TITLE. " +
"Like SCHEME above, TITLE is a placeholder the catalog does not substitute, so the literal " +
"path is called")
diff --git a/obp-api/src/test/scala/code/api/sweep/SweepCoverageDriftCheckTest.scala b/obp-api/src/test/scala/code/api/sweep/SweepCoverageDriftCheckTest.scala
index 8d0c37a4b1..2b91c53fbd 100644
--- a/obp-api/src/test/scala/code/api/sweep/SweepCoverageDriftCheckTest.scala
+++ b/obp-api/src/test/scala/code/api/sweep/SweepCoverageDriftCheckTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.sweep
import org.scalatest.{FlatSpec, Matchers}
diff --git a/obp-api/src/test/scala/code/api/sweep/SweepCoverageTest.scala b/obp-api/src/test/scala/code/api/sweep/SweepCoverageTest.scala
index 7033ab47ff..d5ea8e30a4 100644
--- a/obp-api/src/test/scala/code/api/sweep/SweepCoverageTest.scala
+++ b/obp-api/src/test/scala/code/api/sweep/SweepCoverageTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.sweep
import code.api.util.APIUtil.ResourceDoc
diff --git a/obp-api/src/test/scala/code/api/sweep/SweepFixtures.scala b/obp-api/src/test/scala/code/api/sweep/SweepFixtures.scala
index c029f0bf56..cd55aef282 100644
--- a/obp-api/src/test/scala/code/api/sweep/SweepFixtures.scala
+++ b/obp-api/src/test/scala/code/api/sweep/SweepFixtures.scala
@@ -1,8 +1,45 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.sweep
+import cats.effect.IO
+import cats.effect.unsafe.IORuntime
import code.api.util.ApiRole
+import code.api.util.http4s.Http4sApp
import code.entitlement.Entitlement
import code.setup.DefaultUsers
+import com.openbankproject.commons.util.JsonAliases.parse
+import fs2.Stream
+import net.liftweb.mapper.By
+import org.http4s.{Header, Headers, Method, Request, Uri}
+import org.json4s.JValue
+import org.json4s.JsonAST.JObject
+import org.typelevel.ci.CIString
/**
* Shared setup for sweeps that call the API with a fully-entitled caller.
@@ -19,6 +56,17 @@ trait SweepFixtures { self: DefaultUsers =>
code.bankconnectors.LocalMappedConnector.getBanksLegacy(None)
.map(_._1).getOrElse(Nil).headOption.map(_.bankId.value)
+ /**
+ * The first account the fixtures created at `bankId`, if any.
+ *
+ * Read from the Mapper rather than over HTTP for the same reason realBankId is: these sweeps
+ * are in-process, and a round trip per lookup would be the only slow part of them.
+ */
+ def realAccountId(bankId: String): Option[String] =
+ code.model.dataAccess.MappedBankAccount
+ .find(By(code.model.dataAccess.MappedBankAccount.bank, bankId))
+ .map(_.accountId.value)
+
/**
* A caller holding every role in the system.
*
@@ -38,4 +86,31 @@ trait SweepFixtures { self: DefaultUsers =>
}
Map("DirectLogin" -> s"token=${token1.value}")
}
+
+ /**
+ * One in-process request against the whole http4s app. No TCP, no server startup.
+ *
+ * Shared rather than copied per sweep: AuthSweepTest, FailureSweepTest and SuccessSweepTest
+ * each carried their own near-identical copy, differing only in whether they could send a
+ * body. Those three still hold theirs; a new sweep must not add a fourth.
+ */
+ /** Built once: Http4sApp.httpApp is a def that assembles the whole route chain on each call. */
+ private lazy val sweepHttpApp = Http4sApp.httpApp
+
+ def callApi(verb: String, path: String, headers: Map[String, String], body: String = "")
+ (implicit runtime: IORuntime): (Int, JValue) = {
+ val method = Method.fromString(verb.toUpperCase).getOrElse(Method.GET)
+ val hdrs = if (body.nonEmpty) headers + ("Content-Type" -> "application/json") else headers
+ val req = Request[IO](
+ method = method,
+ uri = Uri.unsafeFromString(path),
+ headers = Headers(hdrs.map { case (k, v) => Header.Raw(CIString(k), v) }.toList),
+ body = if (body.nonEmpty) Stream.emits(body.getBytes("UTF-8")).covary[IO] else Stream.empty
+ )
+ val resp = sweepHttpApp.run(req).unsafeRunSync()
+ val bodyStr = resp.bodyText.compile.string.unsafeRunSync()
+ val json = try { if (bodyStr.trim.isEmpty) JObject(Nil) else parse(bodyStr) }
+ catch { case _: Exception => JObject(Nil) }
+ (resp.status.code, json)
+ }
}
diff --git a/obp-api/src/test/scala/code/api/sweep/SweepFixturesDuplicationTest.scala b/obp-api/src/test/scala/code/api/sweep/SweepFixturesDuplicationTest.scala
index ae947a1ec2..f8c5139657 100644
--- a/obp-api/src/test/scala/code/api/sweep/SweepFixturesDuplicationTest.scala
+++ b/obp-api/src/test/scala/code/api/sweep/SweepFixturesDuplicationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.sweep
import org.scalatest.{FlatSpec, Matchers}
diff --git a/obp-api/src/test/scala/code/api/util/AgentDelegationTest.scala b/obp-api/src/test/scala/code/api/util/AgentDelegationTest.scala
index de8c5a9656..a060b5ef58 100644
--- a/obp-api/src/test/scala/code/api/util/AgentDelegationTest.scala
+++ b/obp-api/src/test/scala/code/api/util/AgentDelegationTest.scala
@@ -1,13 +1,47 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util
+import java.util.Date
+
import code.accountholders.AccountHolders
import code.api.util.APIUtil.generateUUID
+import code.api.util.{Consent, ConsentLinkedCustomers, ConsentMyResources}
+import code.api.v1_4_0.JSONFactory1_4_0.TransactionRequestAccountJsonV140
+import code.api.v2_1_0.TransactionRequestBodySandBoxTanJSON
import code.consent.MappedConsent
import code.model.dataAccess.ResourceUser
import code.setup.ServerSetup
+import code.transactionrequests.{MappedTransactionRequest, MappedTransactionRequestProvider}
import code.users.{AttributionPolicy, UserReference, Users}
-import com.openbankproject.commons.model.{AccountId, BankId, BankIdAccountId}
-import net.liftweb.common.{Failure, Full}
+import com.openbankproject.commons.model.{AccountId, AmountOfMoney, AmountOfMoneyJsonV121, BankAccount, BankAccountCommons, BankId, BankIdAccountId, TransactionRequestCharge, TransactionRequestId, TransactionRequestType}
+import net.liftweb.common.{Box, Failure, Full}
+import net.liftweb.mapper.By
import org.json4s.JObject
import org.json4s.JsonDSL._
import org.scalatest.Tag
@@ -44,6 +78,54 @@ class AgentDelegationTest extends ServerSetup {
private def storedField(value: String): String = Option(value).getOrElse("")
+ /** A BankAccount value the transaction-request provider can read without a database row behind
+ * it: of an account it only reads the ids, routings, name and attributes. */
+ private def testAccount(): BankAccount = BankAccountCommons(
+ accountId = AccountId(generateUUID()),
+ accountType = "CURRENT",
+ balance = BigDecimal("0"),
+ currency = "EUR",
+ name = "agent delegation test account",
+ label = "agent delegation test account",
+ number = "1",
+ bankId = BankId("agent-delegation-bank"),
+ lastUpdate = new Date(),
+ branchId = "",
+ accountRoutings = Nil,
+ accountRules = Nil,
+ accountHolder = ""
+ )
+
+ /** Writes one transaction request through the provider as `user` and returns the stored row.
+ * The Box result is ignored on purpose: the row is saved before it is converted back, and it
+ * is the two stored columns these scenarios are about. */
+ private def storedTransactionRequestFor(user: ResourceUser): MappedTransactionRequest = {
+ val transactionRequestId = TransactionRequestId(generateUUID())
+ val toAccount = testAccount()
+ MappedTransactionRequestProvider.createTransactionRequestImpl210(
+ transactionRequestId = transactionRequestId,
+ transactionRequestType = TransactionRequestType("SANDBOX_TAN"),
+ fromAccount = testAccount(),
+ toAccount = toAccount,
+ transactionRequestCommonBody = TransactionRequestBodySandBoxTanJSON(
+ to = TransactionRequestAccountJsonV140(toAccount.bankId.value, toAccount.accountId.value),
+ value = AmountOfMoneyJsonV121("EUR", "10.00"),
+ description = "agent delegation test"),
+ details = "{}",
+ status = "INITIATED",
+ charge = TransactionRequestCharge("agent delegation test charge", AmountOfMoney("EUR", "0.00")),
+ chargePolicy = "SHARED",
+ paymentService = None,
+ berlinGroupPayments = None,
+ apiStandard = None,
+ apiVersion = None,
+ callContext = Some(CallContext(user = Full(user)))
+ )
+ MappedTransactionRequest
+ .find(By(MappedTransactionRequest.mTransactionRequestId, transactionRequestId.value))
+ .openOrThrowException("expected the transaction request row to have been written")
+ }
+
feature("createResourceUser stores CreatedByConsentId and CreatedByUserInvitationId independently") {
scenario("consent id only — survives the invitation-id None branch", AgentDelegationTag) {
@@ -316,4 +398,171 @@ class AgentDelegationTest extends ServerSetup {
finally provider.delete(created)
}
}
+
+ feature("User-Customer links go through the attribution policy (UserCustomerLinkUser)") {
+
+ def links = code.usercustomerlinks.UserCustomerLink.userCustomerLink.vend
+
+ scenario("a link created by a consent user belongs to its on-behalf-of user", AgentDelegationTag) {
+ val human = createUser()
+ val consent = MappedConsent.create.mUserId(human.userId).saveMe()
+ val agent = createUser(createdByConsentId = Some(consent.consentId))
+ val customerId = generateUUID()
+ val link = links.createUserCustomerLink(agent.userId, customerId, new java.util.Date(), true)
+ .openOrThrowException("expected the link row")
+ link.userId shouldBe human.userId
+ links.getUserCustomerLinksByUserId(human.userId).map(_.customerId) should contain(customerId)
+ links.getUserCustomerLinksByUserId(agent.userId).map(_.customerId) should not contain customerId
+ }
+
+ scenario("a link created by an original user stays on that user", AgentDelegationTag) {
+ val human = createUser()
+ val customerId = generateUUID()
+ val link = links.createUserCustomerLink(human.userId, customerId, new java.util.Date(), true)
+ .openOrThrowException("expected the link row")
+ link.userId shouldBe human.userId
+ }
+
+ scenario("a consent user whose consent has no human yet keeps the row on itself (fails closed)", AgentDelegationTag) {
+ val consent = MappedConsent.create.mUserId("").saveMe()
+ val agent = createUser(createdByConsentId = Some(consent.consentId))
+ val customerId = generateUUID()
+ val link = links.createUserCustomerLink(agent.userId, customerId, new java.util.Date(), true)
+ .openOrThrowException("expected the link row")
+ link.userId shouldBe agent.userId
+ }
+
+ // The two-argument lookup is every caller's "already linked?" pre-check, and
+ // MappedUserCustomerLink has UniqueIndex(mUserId, mCustomerId). If the create resolved but
+ // the lookup did not, the check would pass on the agent and then break the index on the human.
+ scenario("the pre-check lookup asks about the row the create would write", AgentDelegationTag) {
+ val human = createUser()
+ val consent = MappedConsent.create.mUserId(human.userId).saveMe()
+ val agent = createUser(createdByConsentId = Some(consent.consentId))
+ val customerId = generateUUID()
+ links.createUserCustomerLink(human.userId, customerId, new java.util.Date(), true)
+ .openOrThrowException("expected the human's link row")
+
+ links.getUserCustomerLink(agent.userId, customerId).map(_.userId) shouldBe Full(human.userId)
+ val again = links.getOCreateUserCustomerLink(agent.userId, customerId, new java.util.Date(), true)
+ .openOrThrowException("expected the existing row, not a second one")
+ again.userId shouldBe human.userId
+ links.getUserCustomerLinksByUserId(human.userId).count(_.customerId == customerId) shouldBe 1
+ }
+
+ // Deliberate asymmetry: this method also serves the admin lookup at
+ // GET /banks/BANK_ID/user_customer_links/users/USER_ID, where the id is an explicit target.
+ scenario("listing by user id is not redirected, so an explicit target still answers for itself", AgentDelegationTag) {
+ val human = createUser()
+ val consent = MappedConsent.create.mUserId(human.userId).saveMe()
+ val agent = createUser(createdByConsentId = Some(consent.consentId))
+ val customerId = generateUUID()
+ links.createUserCustomerLink(agent.userId, customerId, new java.util.Date(), true)
+ .openOrThrowException("expected the link row")
+ links.getUserCustomerLinksByUserId(agent.userId) shouldBe empty
+ }
+ }
+
+ feature("my_resources.linked_customers — the Consent grant a consent user needs to read its human's Customers") {
+
+ import code.api.v6_0_0.{PostConsentLinkedCustomersJson, PostConsentMyResourcesJson}
+
+ def validate(body: PostConsentMyResourcesJson): Box[Unit] =
+ scala.concurrent.Await.result(Consent.validateMyResources(Some(body), None), scala.concurrent.duration.Duration(10, "seconds"))
+
+ // booleanToFuture reports a bad body by throwing (fullBoxOrException), so a rejection is an
+ // exception carrying the message the caller will see -- assert on that, not on a Failure box.
+ def rejectionMessage(body: PostConsentMyResourcesJson): String =
+ intercept[Exception](validate(body)).getMessage
+
+ scenario("a grant covers exactly the bank it names, and nothing else", AgentDelegationTag) {
+ val claim = ConsentMyResources(Nil, List(ConsentLinkedCustomers("bank-a", List(ConsentMyResources.actionRead))))
+ claim.coversLinkedCustomers("bank-a", ConsentMyResources.actionRead) shouldBe true
+ claim.coversLinkedCustomers("bank-b", ConsentMyResources.actionRead) shouldBe false
+ claim.coversLinkedCustomers("bank-a", ConsentMyResources.actionWrite) shouldBe false
+ }
+
+ scenario("a consent with no linked_customers covers nothing", AgentDelegationTag) {
+ ConsentMyResources(Nil).coversLinkedCustomers("bank-a", ConsentMyResources.actionRead) shouldBe false
+ ConsentMyResources(Nil).linkedCustomerBankIds(ConsentMyResources.actionRead) shouldBe Nil
+ }
+
+ scenario("the unscoped read sees only the banks granted for that action", AgentDelegationTag) {
+ val claim = ConsentMyResources(Nil, List(
+ ConsentLinkedCustomers("bank-a", List(ConsentMyResources.actionRead)),
+ ConsentLinkedCustomers("bank-b", List(ConsentMyResources.actionWrite))))
+ claim.linkedCustomerBankIds(ConsentMyResources.actionRead) shouldBe List("bank-a")
+ claim.linkedCustomerBankIds(ConsentMyResources.actionWrite) shouldBe List("bank-b")
+ }
+
+ // The claim travels in the consent JWT, so a lossy round trip silently drops a grant.
+ scenario("linked_customers survives the json to claim round trip", AgentDelegationTag) {
+ val body = PostConsentMyResourcesJson(None, Some(List(
+ PostConsentLinkedCustomersJson("bank-a", List(ConsentMyResources.actionRead)))))
+ val claim = ConsentMyResources.fromJson(body)
+ claim.linked_customers shouldBe List(ConsentLinkedCustomers("bank-a", List(ConsentMyResources.actionRead)))
+ ConsentMyResources.toJson(claim).linked_customers shouldBe body.linked_customers
+ }
+
+ scenario("a well formed linked_customers entry validates", AgentDelegationTag) {
+ validate(PostConsentMyResourcesJson(None, Some(List(
+ PostConsentLinkedCustomersJson("bank-a", List(ConsentMyResources.actionRead)))))).isDefined shouldBe true
+ }
+
+ scenario("bank_id is required, because a Customer belongs to a Bank", AgentDelegationTag) {
+ val message = rejectionMessage(PostConsentMyResourcesJson(None, Some(List(
+ PostConsentLinkedCustomersJson("", List(ConsentMyResources.actionRead))))))
+ message should include(ErrorMessages.ConsentMyResourcesInvalid.trim)
+ message should include("bank_id is required")
+ }
+
+ scenario("actions must be named and known", AgentDelegationTag) {
+ rejectionMessage(PostConsentMyResourcesJson(None, Some(List(
+ PostConsentLinkedCustomersJson("bank-a", Nil))))) should include("actions must name at least one of")
+ rejectionMessage(PostConsentMyResourcesJson(None, Some(List(
+ PostConsentLinkedCustomersJson("bank-a", List("delete")))))) should include("unknown actions delete")
+ }
+ }
+
+ feature("Transaction requests record both ids (UserReference.TransactionRequest)") {
+
+ scenario("a request made by an original user names that user in both columns", AgentDelegationTag) {
+ val human = createUser()
+ val row = storedTransactionRequestFor(human)
+ storedField(row.mUserId.get) shouldBe human.userId
+ storedField(row.mOnBehalfOfUserId.get) shouldBe human.userId
+ }
+
+ scenario("a request made by a consent user names the caller and its on-behalf-of user", AgentDelegationTag) {
+ val human = createUser()
+ val consent = MappedConsent.create.mUserId(human.userId).saveMe()
+ val agent = createUser(createdByConsentId = Some(consent.consentId))
+ val row = storedTransactionRequestFor(agent)
+ storedField(row.mUserId.get) shouldBe agent.userId
+ storedField(row.mOnBehalfOfUserId.get) shouldBe human.userId
+ }
+
+ // Regression: the attribution used to supply BOTH columns, so a resolver Failure -- which is
+ // what a broken consent chain gets -- wrote null over mUserId too, and the payment row no
+ // longer said who made it. mUserId is read from the call context, never from the attribution.
+ scenario("a broken consent chain still names the caller, and leaves no on-behalf-of user", AgentDelegationTag) {
+ val human = createUser()
+ val consent1 = MappedConsent.create.mUserId(human.userId).saveMe()
+ val agent1 = createUser(createdByConsentId = Some(consent1.consentId))
+ val consent2 = MappedConsent.create.mUserId(agent1.userId).saveMe() // names a consent user: data bug
+ val agent2 = createUser(createdByConsentId = Some(consent2.consentId))
+ Users.users.vend.onBehalfOfUserIdOf(agent2.userId) shouldBe a[Failure] // the precondition this pins
+ val row = storedTransactionRequestFor(agent2)
+ storedField(row.mUserId.get) shouldBe agent2.userId
+ storedField(row.mOnBehalfOfUserId.get) shouldBe ""
+ }
+
+ scenario("a consent user whose consent has no human yet acts for itself (fails closed)", AgentDelegationTag) {
+ val consent = MappedConsent.create.mUserId("").saveMe()
+ val agent = createUser(createdByConsentId = Some(consent.consentId))
+ val row = storedTransactionRequestFor(agent)
+ storedField(row.mUserId.get) shouldBe agent.userId
+ storedField(row.mOnBehalfOfUserId.get) shouldBe agent.userId
+ }
+ }
}
diff --git a/obp-api/src/test/scala/code/api/util/AuthRateLimiterTest.scala b/obp-api/src/test/scala/code/api/util/AuthRateLimiterTest.scala
index 2705c43783..98c4685d2d 100644
--- a/obp-api/src/test/scala/code/api/util/AuthRateLimiterTest.scala
+++ b/obp-api/src/test/scala/code/api/util/AuthRateLimiterTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/util/BerlinGroupMandatoryHeadersTest.scala b/obp-api/src/test/scala/code/api/util/BerlinGroupMandatoryHeadersTest.scala
index 3a8b2d92ff..f209fc2ff7 100644
--- a/obp-api/src/test/scala/code/api/util/BerlinGroupMandatoryHeadersTest.scala
+++ b/obp-api/src/test/scala/code/api/util/BerlinGroupMandatoryHeadersTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util
import code.api.berlin.group.v1_3.BerlinGroupServerSetupV1_3
diff --git a/obp-api/src/test/scala/code/api/util/BerlinGroupPsuInvolvementTest.scala b/obp-api/src/test/scala/code/api/util/BerlinGroupPsuInvolvementTest.scala
index 80535b185a..5e5cc7df13 100644
--- a/obp-api/src/test/scala/code/api/util/BerlinGroupPsuInvolvementTest.scala
+++ b/obp-api/src/test/scala/code/api/util/BerlinGroupPsuInvolvementTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util
import code.api.berlin.group.v1_3.BerlinGroupServerSetupV1_3
diff --git a/obp-api/src/test/scala/code/api/util/DateFormatConcurrencyTest.scala b/obp-api/src/test/scala/code/api/util/DateFormatConcurrencyTest.scala
index b299ecb948..2b6fb9053d 100644
--- a/obp-api/src/test/scala/code/api/util/DateFormatConcurrencyTest.scala
+++ b/obp-api/src/test/scala/code/api/util/DateFormatConcurrencyTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util
import java.util.Date
diff --git a/obp-api/src/test/scala/code/api/util/DynamicUtilJsEngineTest.scala b/obp-api/src/test/scala/code/api/util/DynamicUtilJsEngineTest.scala
index 71d0af83f2..2c120feb66 100644
--- a/obp-api/src/test/scala/code/api/util/DynamicUtilJsEngineTest.scala
+++ b/obp-api/src/test/scala/code/api/util/DynamicUtilJsEngineTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util
import net.liftweb.common.{Full, Failure}
diff --git a/obp-api/src/test/scala/code/api/util/EndpointMappingCacheInvalidationTest.scala b/obp-api/src/test/scala/code/api/util/EndpointMappingCacheInvalidationTest.scala
index e801297e0e..da070b4554 100644
--- a/obp-api/src/test/scala/code/api/util/EndpointMappingCacheInvalidationTest.scala
+++ b/obp-api/src/test/scala/code/api/util/EndpointMappingCacheInvalidationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util
import code.api.JedisMethod
diff --git a/obp-api/src/test/scala/code/api/util/JavaWebSignatureTest.scala b/obp-api/src/test/scala/code/api/util/JavaWebSignatureTest.scala
index 5dc6033afc..f294c349c6 100644
--- a/obp-api/src/test/scala/code/api/util/JavaWebSignatureTest.scala
+++ b/obp-api/src/test/scala/code/api/util/JavaWebSignatureTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util
import java.time.{ZoneOffset, ZonedDateTime}
diff --git a/obp-api/src/test/scala/code/api/util/PeerTrustTest.scala b/obp-api/src/test/scala/code/api/util/PeerTrustTest.scala
index 64afedae45..eaf2fca7d2 100644
--- a/obp-api/src/test/scala/code/api/util/PeerTrustTest.scala
+++ b/obp-api/src/test/scala/code/api/util/PeerTrustTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util
import java.security.cert.X509Certificate
diff --git a/obp-api/src/test/scala/code/api/util/ResourceDocRegistryParityTest.scala b/obp-api/src/test/scala/code/api/util/ResourceDocRegistryParityTest.scala
index 3816545da8..d1deb2514d 100644
--- a/obp-api/src/test/scala/code/api/util/ResourceDocRegistryParityTest.scala
+++ b/obp-api/src/test/scala/code/api/util/ResourceDocRegistryParityTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util
import code.api.berlin.group.ConstantsBG
diff --git a/obp-api/src/test/scala/code/api/util/SelfServiceRateLimiterTest.scala b/obp-api/src/test/scala/code/api/util/SelfServiceRateLimiterTest.scala
index 1141424d20..529d72af94 100644
--- a/obp-api/src/test/scala/code/api/util/SelfServiceRateLimiterTest.scala
+++ b/obp-api/src/test/scala/code/api/util/SelfServiceRateLimiterTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util
import cats.effect.IO
diff --git a/obp-api/src/test/scala/code/api/util/TokenBindingTest.scala b/obp-api/src/test/scala/code/api/util/TokenBindingTest.scala
index aeaa383b21..e570ea698c 100644
--- a/obp-api/src/test/scala/code/api/util/TokenBindingTest.scala
+++ b/obp-api/src/test/scala/code/api/util/TokenBindingTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util
import java.security.cert.X509Certificate
diff --git a/obp-api/src/test/scala/code/api/util/http4s/CallerCertificateTest.scala b/obp-api/src/test/scala/code/api/util/http4s/CallerCertificateTest.scala
index bd5a391b0a..b5e3515c4c 100644
--- a/obp-api/src/test/scala/code/api/util/http4s/CallerCertificateTest.scala
+++ b/obp-api/src/test/scala/code/api/util/http4s/CallerCertificateTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util.http4s
import java.security.cert.X509Certificate
diff --git a/obp-api/src/test/scala/code/api/util/http4s/Http4sConfigUtilTest.scala b/obp-api/src/test/scala/code/api/util/http4s/Http4sConfigUtilTest.scala
index af0278b3d0..f09f6d63fe 100644
--- a/obp-api/src/test/scala/code/api/util/http4s/Http4sConfigUtilTest.scala
+++ b/obp-api/src/test/scala/code/api/util/http4s/Http4sConfigUtilTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util.http4s
import org.scalatest.{FlatSpec, Matchers}
diff --git a/obp-api/src/test/scala/code/api/util/http4s/Http4sJsonContentTypeTest.scala b/obp-api/src/test/scala/code/api/util/http4s/Http4sJsonContentTypeTest.scala
index 8995604f05..9ea60e7e49 100644
--- a/obp-api/src/test/scala/code/api/util/http4s/Http4sJsonContentTypeTest.scala
+++ b/obp-api/src/test/scala/code/api/util/http4s/Http4sJsonContentTypeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util.http4s
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/util/http4s/IdempotencyMiddlewareTest.scala b/obp-api/src/test/scala/code/api/util/http4s/IdempotencyMiddlewareTest.scala
index bdc09eeab7..de95a0ca63 100644
Binary files a/obp-api/src/test/scala/code/api/util/http4s/IdempotencyMiddlewareTest.scala and b/obp-api/src/test/scala/code/api/util/http4s/IdempotencyMiddlewareTest.scala differ
diff --git a/obp-api/src/test/scala/code/api/util/http4s/Psd2CertIngressTest.scala b/obp-api/src/test/scala/code/api/util/http4s/Psd2CertIngressTest.scala
index 6e58e5d661..48df168bf5 100644
--- a/obp-api/src/test/scala/code/api/util/http4s/Psd2CertIngressTest.scala
+++ b/obp-api/src/test/scala/code/api/util/http4s/Psd2CertIngressTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util.http4s
import java.security.cert.X509Certificate
diff --git a/obp-api/src/test/scala/code/api/util/http4s/RequestScopeConnectionTest.scala b/obp-api/src/test/scala/code/api/util/http4s/RequestScopeConnectionTest.scala
index 9ea91ce33c..3dd0de3cb7 100644
--- a/obp-api/src/test/scala/code/api/util/http4s/RequestScopeConnectionTest.scala
+++ b/obp-api/src/test/scala/code/api/util/http4s/RequestScopeConnectionTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util.http4s
import cats.effect.{IO, IOLocal}
diff --git a/obp-api/src/test/scala/code/api/util/http4s/ResourceDocAggregationCoverageTest.scala b/obp-api/src/test/scala/code/api/util/http4s/ResourceDocAggregationCoverageTest.scala
index 9805e372f3..f3d3ca3761 100644
--- a/obp-api/src/test/scala/code/api/util/http4s/ResourceDocAggregationCoverageTest.scala
+++ b/obp-api/src/test/scala/code/api/util/http4s/ResourceDocAggregationCoverageTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util.http4s
import code.setup.ServerSetup
diff --git a/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMatcherTest.scala b/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMatcherTest.scala
index 3c85edf458..e2ed556298 100644
--- a/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMatcherTest.scala
+++ b/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMatcherTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util.http4s
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMiddlewareEnableDisablePropsTest.scala b/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMiddlewareEnableDisablePropsTest.scala
index 653c4fd36a..406f8d12a2 100644
--- a/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMiddlewareEnableDisablePropsTest.scala
+++ b/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMiddlewareEnableDisablePropsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util.http4s
import cats.effect.IO
diff --git a/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMiddlewareEnableDisableTest.scala b/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMiddlewareEnableDisableTest.scala
index 2fab12a9fa..377574dad0 100644
--- a/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMiddlewareEnableDisableTest.scala
+++ b/obp-api/src/test/scala/code/api/util/http4s/ResourceDocMiddlewareEnableDisableTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util.http4s
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/util/http4s/RetiredApiStandardsTest.scala b/obp-api/src/test/scala/code/api/util/http4s/RetiredApiStandardsTest.scala
index 2ae0462c3c..a81dda0bdc 100644
--- a/obp-api/src/test/scala/code/api/util/http4s/RetiredApiStandardsTest.scala
+++ b/obp-api/src/test/scala/code/api/util/http4s/RetiredApiStandardsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.util.http4s
import code.api.util.ScannedApis
diff --git a/obp-api/src/test/scala/code/api/v1_3_0/PhysicalCardsTest.scala b/obp-api/src/test/scala/code/api/v1_3_0/PhysicalCardsTest.scala
index 9741f36492..d5d1470e99 100644
--- a/obp-api/src/test/scala/code/api/v1_3_0/PhysicalCardsTest.scala
+++ b/obp-api/src/test/scala/code/api/v1_3_0/PhysicalCardsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v1_3_0
import java.util.Date
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/AtmsTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/AtmsTest.scala
index ed9d63ddd0..7ab923bd10 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/AtmsTest.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/AtmsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v1_4_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/BranchesTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/BranchesTest.scala
index f379e80ab2..9db79b302b 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/BranchesTest.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/BranchesTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v1_4_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/CustomerTest.scala
index 00ed6e2484..2a53f8aed1 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/CustomerTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v1_4_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0NestedArrayTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0NestedArrayTest.scala
index 71cd474462..40c86b004b 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0NestedArrayTest.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0NestedArrayTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v1_4_0
import code.api.util.CustomJsonFormats
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0PreservationTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0PreservationTest.scala
index 7fcaab028f..4f7f74be8b 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0PreservationTest.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0PreservationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v1_4_0
import code.api.util.CustomJsonFormats
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0RootEnumListTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0RootEnumListTest.scala
index ebc7eeed56..94fa9aa63a 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0RootEnumListTest.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0RootEnumListTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v1_4_0
import code.api.util.AuthenticationType
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0RootListTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0RootListTest.scala
index 3055079473..b8d45c6d38 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0RootListTest.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0RootListTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v1_4_0
import org.json4s.JsonAST.{JNothing, JString, JValue}
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0Test.scala b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0Test.scala
index 971e6c95bb..7664e2d0bb 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0Test.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0Test.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v1_4_0
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON.usersJsonV400
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0_LightTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0_LightTest.scala
index d5bcb8ce6f..0e885607cb 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0_LightTest.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/JSONFactory1_4_0_LightTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v1_4_0
import code.api.util.CustomJsonFormats
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/MappedCustomerMessagesTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/MappedCustomerMessagesTest.scala
index 36e198520d..aef07a2795 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/MappedCustomerMessagesTest.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/MappedCustomerMessagesTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v1_4_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/ProductsTest.scala b/obp-api/src/test/scala/code/api/v1_4_0/ProductsTest.scala
index 972ee69da0..9eba9b1719 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/ProductsTest.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/ProductsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v1_4_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v1_4_0/V140ServerSetup.scala b/obp-api/src/test/scala/code/api/v1_4_0/V140ServerSetup.scala
index dd7efc867a..ebbf6b71e2 100644
--- a/obp-api/src/test/scala/code/api/v1_4_0/V140ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/v1_4_0/V140ServerSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v1_4_0
import code.setup.ServerSetupWithTestData
diff --git a/obp-api/src/test/scala/code/api/v2_0_0/AccountTest.scala b/obp-api/src/test/scala/code/api/v2_0_0/AccountTest.scala
index 206ee729d4..84a9997dcb 100644
--- a/obp-api/src/test/scala/code/api/v2_0_0/AccountTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_0_0/AccountTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v2_0_0/CreateUserTest.scala b/obp-api/src/test/scala/code/api/v2_0_0/CreateUserTest.scala
index 7036fa030d..1b8a4d86cd 100644
--- a/obp-api/src/test/scala/code/api/v2_0_0/CreateUserTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_0_0/CreateUserTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v2_0_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v2_0_0/CustomerTest.scala
index a4eca689fe..d67b9d04af 100644
--- a/obp-api/src/test/scala/code/api/v2_0_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_0_0/CustomerTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v2_0_0/EntitlementTests.scala b/obp-api/src/test/scala/code/api/v2_0_0/EntitlementTests.scala
index 206afc7b44..a4c1c7ed66 100644
--- a/obp-api/src/test/scala/code/api/v2_0_0/EntitlementTests.scala
+++ b/obp-api/src/test/scala/code/api/v2_0_0/EntitlementTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v2_0_0/V200ServerSetup.scala b/obp-api/src/test/scala/code/api/v2_0_0/V200ServerSetup.scala
index bde590e8c5..7b6491a250 100644
--- a/obp-api/src/test/scala/code/api/v2_0_0/V200ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/v2_0_0/V200ServerSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_0_0
import code.setup.{APIResponse, ServerSetupWithTestData}
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/CreateBranchTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/CreateBranchTest.scala
index 884ec5532c..3a3f97000c 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/CreateBranchTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/CreateBranchTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/CreateCreditCardTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/CreateCreditCardTest.scala
index 3ebef97e39..eebafc7f03 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/CreateCreditCardTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/CreateCreditCardTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/CreateTransactionTypeTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/CreateTransactionTypeTest.scala
index 4162789bb8..ca498b9035 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/CreateTransactionTypeTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/CreateTransactionTypeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/CustomerTest.scala
index 35df821a2d..9510759eb9 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/CustomerTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/EntitlementTests.scala b/obp-api/src/test/scala/code/api/v2_1_0/EntitlementTests.scala
index 91c0291c86..1ff1e9867c 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/EntitlementTests.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/EntitlementTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_1_0
import code.api.v2_1_0.Http4s210
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/TransactionRequestsTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/TransactionRequestsTest.scala
index 9146a166da..f840c005e2 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/TransactionRequestsTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/TransactionRequestsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/UpdateConsumerRedirectUrlTest.scala b/obp-api/src/test/scala/code/api/v2_1_0/UpdateConsumerRedirectUrlTest.scala
index 6b97670fba..18659dc731 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/UpdateConsumerRedirectUrlTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/UpdateConsumerRedirectUrlTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/UserTests.scala b/obp-api/src/test/scala/code/api/v2_1_0/UserTests.scala
index 8087d70c4d..045fd9739e 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/UserTests.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/UserTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_1_0
import com.openbankproject.commons.model.ErrorMessage
diff --git a/obp-api/src/test/scala/code/api/v2_1_0/V210ServerSetup.scala b/obp-api/src/test/scala/code/api/v2_1_0/V210ServerSetup.scala
index 734c5546e6..b735ed7141 100644
--- a/obp-api/src/test/scala/code/api/v2_1_0/V210ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/v2_1_0/V210ServerSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_1_0
import code.setup.ServerSetupWithTestData
diff --git a/obp-api/src/test/scala/code/api/v2_2_0/AccountTest.scala b/obp-api/src/test/scala/code/api/v2_2_0/AccountTest.scala
index f1a8fe91d5..62261c6395 100644
--- a/obp-api/src/test/scala/code/api/v2_2_0/AccountTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_2_0/AccountTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_2_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v2_2_0/CreateCounterpartyTest.scala b/obp-api/src/test/scala/code/api/v2_2_0/CreateCounterpartyTest.scala
index ca2b1bb262..7fcbda4497 100644
--- a/obp-api/src/test/scala/code/api/v2_2_0/CreateCounterpartyTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_2_0/CreateCounterpartyTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_2_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v2_2_0/ExchangeRateTest.scala b/obp-api/src/test/scala/code/api/v2_2_0/ExchangeRateTest.scala
index 82364555ab..2ac2e24576 100644
--- a/obp-api/src/test/scala/code/api/v2_2_0/ExchangeRateTest.scala
+++ b/obp-api/src/test/scala/code/api/v2_2_0/ExchangeRateTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_2_0
import com.openbankproject.commons.model.ErrorMessage
diff --git a/obp-api/src/test/scala/code/api/v2_2_0/V220ServerSetup.scala b/obp-api/src/test/scala/code/api/v2_2_0/V220ServerSetup.scala
index 23a128c892..5756e53499 100644
--- a/obp-api/src/test/scala/code/api/v2_2_0/V220ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/v2_2_0/V220ServerSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v2_2_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v3_0_0/AccountTest.scala b/obp-api/src/test/scala/code/api/v3_0_0/AccountTest.scala
index 24f3b5146f..cd2925c8f8 100644
--- a/obp-api/src/test/scala/code/api/v3_0_0/AccountTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_0_0/AccountTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v3_0_0
import com.openbankproject.commons.model.ErrorMessage
diff --git a/obp-api/src/test/scala/code/api/v3_0_0/BranchesTest.scala b/obp-api/src/test/scala/code/api/v3_0_0/BranchesTest.scala
index a17d3d7938..0fe817fb34 100644
--- a/obp-api/src/test/scala/code/api/v3_0_0/BranchesTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_0_0/BranchesTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v3_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v3_0_0/CounterpartyTest.scala b/obp-api/src/test/scala/code/api/v3_0_0/CounterpartyTest.scala
index 0d33548437..d395bfac12 100644
--- a/obp-api/src/test/scala/code/api/v3_0_0/CounterpartyTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_0_0/CounterpartyTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v3_0_0
import code.api.Constant._
diff --git a/obp-api/src/test/scala/code/api/v3_0_0/EntitlementRequestsTest.scala b/obp-api/src/test/scala/code/api/v3_0_0/EntitlementRequestsTest.scala
index 688bdf62fa..87c72ea15a 100644
--- a/obp-api/src/test/scala/code/api/v3_0_0/EntitlementRequestsTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_0_0/EntitlementRequestsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v3_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v3_0_0/FirehoseTest.scala b/obp-api/src/test/scala/code/api/v3_0_0/FirehoseTest.scala
index a4489c6d1a..19ff8c0e90 100644
--- a/obp-api/src/test/scala/code/api/v3_0_0/FirehoseTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_0_0/FirehoseTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v3_0_0
import code.api.Constant
diff --git a/obp-api/src/test/scala/code/api/v3_0_0/GetAdapterInfoTest.scala b/obp-api/src/test/scala/code/api/v3_0_0/GetAdapterInfoTest.scala
index a25ca838f4..51fcdec477 100644
--- a/obp-api/src/test/scala/code/api/v3_0_0/GetAdapterInfoTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_0_0/GetAdapterInfoTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_0_0/TransactionsTest.scala b/obp-api/src/test/scala/code/api/v3_0_0/TransactionsTest.scala
index 33039485e3..2a51b0e32a 100644
--- a/obp-api/src/test/scala/code/api/v3_0_0/TransactionsTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_0_0/TransactionsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v3_0_0
import com.openbankproject.commons.model.ErrorMessage
diff --git a/obp-api/src/test/scala/code/api/v3_0_0/UserTest.scala b/obp-api/src/test/scala/code/api/v3_0_0/UserTest.scala
index 08df5249f4..e02721f2ea 100644
--- a/obp-api/src/test/scala/code/api/v3_0_0/UserTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_0_0/UserTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v3_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v3_0_0/V300ServerSetup.scala b/obp-api/src/test/scala/code/api/v3_0_0/V300ServerSetup.scala
index 0989208ac8..f1c9b24d75 100644
--- a/obp-api/src/test/scala/code/api/v3_0_0/V300ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/v3_0_0/V300ServerSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v3_0_0
import code.api.Constant._
diff --git a/obp-api/src/test/scala/code/api/v3_0_0/WarehouseTest.scala b/obp-api/src/test/scala/code/api/v3_0_0/WarehouseTest.scala
index 92b30c96bd..19c8aa895a 100644
--- a/obp-api/src/test/scala/code/api/v3_0_0/WarehouseTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_0_0/WarehouseTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v3_0_0
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/AccountAttributeTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/AccountAttributeTest.scala
index b4d4b5831e..4fdb6b8081 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/AccountAttributeTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/AccountAttributeTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/AccountTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/AccountTest.scala
index 34fe5697e5..1a5a48c983 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/AccountTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/AccountTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v3_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/CardAttributeTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/CardAttributeTest.scala
index 2184559ea3..6cc0bc36ff 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/CardAttributeTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/CardAttributeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v3_1_0
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/CardTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/CardTest.scala
index 9dd96df041..01b414b1f2 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/CardTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/CardTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v3_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/ConsentTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/ConsentTest.scala
index b34ab2d4c9..4368bf4b04 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/ConsentTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/ConsentTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/ConsumerTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/ConsumerTest.scala
index 44804c243f..960879e109 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/ConsumerTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/ConsumerTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/CustomerAddressTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/CustomerAddressTest.scala
index 2d6ebfe9c4..fac71901b3 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/CustomerAddressTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/CustomerAddressTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/CustomerTest.scala
index 7c932e5b71..1235aea5a7 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/CustomerTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/FundsAvailableTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/FundsAvailableTest.scala
index 5a249460f1..1dbe5492fd 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/FundsAvailableTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/FundsAvailableTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/GetAdapterInfoTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/GetAdapterInfoTest.scala
index 35a3470c21..ef8a51be5b 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/GetAdapterInfoTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/GetAdapterInfoTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/GetMessageDocsSwaggerTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/GetMessageDocsSwaggerTest.scala
index 9a5a24eaa6..c0becd5580 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/GetMessageDocsSwaggerTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/GetMessageDocsSwaggerTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/MeetingsTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/MeetingsTest.scala
index ea5b770bba..c95f6081e0 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/MeetingsTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/MeetingsTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/MethodRoutingTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/MethodRoutingTest.scala
index 8f80bf9bc5..75c32c20c1 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/MethodRoutingTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/MethodRoutingTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/ObpApiLoopbackTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/ObpApiLoopbackTest.scala
index 7cb28ab83c..32c0e96b67 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/ObpApiLoopbackTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/ObpApiLoopbackTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/ProductAttributeTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/ProductAttributeTest.scala
index f882af74b8..051cbc761a 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/ProductAttributeTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/ProductAttributeTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/ProductCollectionTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/ProductCollectionTest.scala
index c1481bef60..bc5f8a465a 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/ProductCollectionTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/ProductCollectionTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/ProductTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/ProductTest.scala
index e119449c68..d27b609c95 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/ProductTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/ProductTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/RateLimitTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/RateLimitTest.scala
index b594d296ff..4d22cea4b6 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/RateLimitTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/RateLimitTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/RefreshObpDateTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/RefreshObpDateTest.scala
index 04245d620d..e58bdbbb0e 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/RefreshObpDateTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/RefreshObpDateTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/TaxResidenceTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/TaxResidenceTest.scala
index 8bf7404d45..460dfc7306 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/TaxResidenceTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/TaxResidenceTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/TransactionRequestTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/TransactionRequestTest.scala
index e1b9265d66..8137256194 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/TransactionRequestTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/TransactionRequestTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/TransactionTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/TransactionTest.scala
index 5de7f2ba77..c911a6dd0d 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/TransactionTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/TransactionTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextTest.scala
index c547c7d09f..e748a2f39d 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextUpdateTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextUpdateTest.scala
index d2c6c84d1c..2e4664fac1 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextUpdateTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/UserAuthContextUpdateTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/V310ServerSetup.scala b/obp-api/src/test/scala/code/api/v3_1_0/V310ServerSetup.scala
index 3b0e16dac5..1917ef7d58 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/V310ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/V310ServerSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v3_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/WebUiPropsTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/WebUiPropsTest.scala
index 5f7a31ac31..4f62b1be32 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/WebUiPropsTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/WebUiPropsTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v3_1_0/WebhooksTest.scala b/obp-api/src/test/scala/code/api/v3_1_0/WebhooksTest.scala
index 6299df417f..34e7a9f1c3 100644
--- a/obp-api/src/test/scala/code/api/v3_1_0/WebhooksTest.scala
+++ b/obp-api/src/test/scala/code/api/v3_1_0/WebhooksTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AccountAccessTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AccountAccessTest.scala
index e9c620b644..d27b1d2774 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AccountAccessTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AccountAccessTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AccountBalanceTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AccountBalanceTest.scala
index 0dca44106d..a2696d8d7d 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AccountBalanceTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AccountBalanceTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AccountTagTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AccountTagTest.scala
index e929f05254..8477770b36 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AccountTagTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AccountTagTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AccountTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AccountTest.scala
index bf35a00c51..8b07de5182 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AccountTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AccountTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionEndpointTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionEndpointTest.scala
index e5ebda8f2b..0c390caaf2 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionEndpointTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionEndpointTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionTest.scala
index c345688176..8cbbd34621 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/ApiCollectionTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AtmsTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AtmsTest.scala
index eebe1506f9..bcc28f2a14 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AtmsTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AtmsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDefinitionTransactionRequestTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDefinitionTransactionRequestTest.scala
index 891ea92f65..08be4d8d53 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDefinitionTransactionRequestTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDefinitionTransactionRequestTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationAttributeTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationAttributeTest.scala
index bade92bcf1..545d24ba84 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationAttributeTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationAttributeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCardTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCardTest.scala
index cbff51c40b..5ea2520d41 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCardTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCardTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCustomerTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCustomerTest.scala
index ce55ef7983..2bc7577b67 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationCustomerTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationProductTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationProductTest.scala
index 6621070a62..6f54119e0f 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationProductTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationProductTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationTransactionTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationTransactionTest.scala
index f314f65cae..27cd051bab 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationTransactionTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AttributeDocumentationTransactionTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AuthenticationTypeValidationPublicPropTrueTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AuthenticationTypeValidationPublicPropTrueTest.scala
index 5b99126172..5014fe761f 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AuthenticationTypeValidationPublicPropTrueTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AuthenticationTypeValidationPublicPropTrueTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/AuthenticationTypeValidationTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/AuthenticationTypeValidationTest.scala
index 0e802a6a3d..6e594fc3e7 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/AuthenticationTypeValidationTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/AuthenticationTypeValidationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/BankAttributeTests.scala b/obp-api/src/test/scala/code/api/v4_0_0/BankAttributeTests.scala
index 1e7b4d4ec8..acb244d085 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/BankAttributeTests.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/BankAttributeTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/BankTests.scala b/obp-api/src/test/scala/code/api/v4_0_0/BankTests.scala
index 9154557f5d..40ef3a632e 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/BankTests.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/BankTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/ConnectorMethodTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/ConnectorMethodTest.scala
index 4ee5e9d8ed..666ff9b0e3 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/ConnectorMethodTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/ConnectorMethodTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/ConsentTests.scala b/obp-api/src/test/scala/code/api/v4_0_0/ConsentTests.scala
index fd15d40c48..b44fdccf2c 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/ConsentTests.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/ConsentTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/CorrelatedUserInfoTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/CorrelatedUserInfoTest.scala
index 76d93107d3..472c2e91b5 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/CorrelatedUserInfoTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/CorrelatedUserInfoTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/CounterpartyTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/CounterpartyTest.scala
index 17d307261f..1b44715d72 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/CounterpartyTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/CounterpartyTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/CustomerAttributesTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/CustomerAttributesTest.scala
index 7c0927f901..b62dc3f725 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/CustomerAttributesTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/CustomerAttributesTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/CustomerMessageTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/CustomerMessageTest.scala
index fe0b6f0f75..9f54294271 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/CustomerMessageTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/CustomerMessageTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/CustomerTest.scala
index 1b63a20868..cd19ca8648 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/CustomerTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DeleteAccountCascadeTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DeleteAccountCascadeTest.scala
index 3cc9d7e58f..2bd939c43a 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DeleteAccountCascadeTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DeleteAccountCascadeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DeleteBankCascadeTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DeleteBankCascadeTest.scala
index d45e7489e9..0e4807db50 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DeleteBankCascadeTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DeleteBankCascadeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DeleteCustomerCascadeTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DeleteCustomerCascadeTest.scala
index 3efc6819e9..34a31abdc8 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DeleteCustomerCascadeTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DeleteCustomerCascadeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DeleteProductCascadeTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DeleteProductCascadeTest.scala
index ed370272fd..8768755ee2 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DeleteProductCascadeTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DeleteProductCascadeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DeleteTransactionCascadeTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DeleteTransactionCascadeTest.scala
index 5f4acc1616..015fb385a1 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DeleteTransactionCascadeTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DeleteTransactionCascadeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DirectDebitTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DirectDebitTest.scala
index f780ec8379..53ac159361 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DirectDebitTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DirectDebitTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DoubleEntryTransactionTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DoubleEntryTransactionTest.scala
index b38b8901d3..5ad2770758 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DoubleEntryTransactionTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DoubleEntryTransactionTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import code.api.Constant
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DynamicCodeKillSwitchTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DynamicCodeKillSwitchTest.scala
index 735617e6b8..d661ad8419 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DynamicCodeKillSwitchTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DynamicCodeKillSwitchTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DynamicEndpointHelperTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DynamicEndpointHelperTest.scala
index d3f4f1b118..c9a78b9b4c 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DynamicEndpointHelperTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DynamicEndpointHelperTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DynamicEntityTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DynamicEntityTest.scala
index c2bea5273d..2ed5db8a32 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DynamicEntityTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DynamicEntityTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DynamicIntegrationTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DynamicIntegrationTest.scala
index 5eea4d9e0f..50e272abd4 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DynamicIntegrationTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DynamicIntegrationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DynamicMessageDocTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DynamicMessageDocTest.scala
index e5bc7448bd..cc4265ebef 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DynamicMessageDocTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DynamicMessageDocTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DynamicResourceDocTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DynamicResourceDocTest.scala
index 01460e918d..c2df15ea8b 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DynamicResourceDocTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DynamicResourceDocTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/DynamicendPointsTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/DynamicendPointsTest.scala
index 472566d6c0..e4bff318d0 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/DynamicendPointsTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/DynamicendPointsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingBankLevelTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingBankLevelTest.scala
index 63e75a7b71..3ad09fb50c 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingBankLevelTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingBankLevelTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingTest.scala
index a4e736b9fd..b73d8a1f2b 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/EndpointMappingTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/EndpointTagTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/EndpointTagTest.scala
index 955deccf34..2c292031c9 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/EndpointTagTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/EndpointTagTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/EntitlementTests.scala b/obp-api/src/test/scala/code/api/v4_0_0/EntitlementTests.scala
index 502f9281e2..5a61867a68 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/EntitlementTests.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/EntitlementTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/FirehoseTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/FirehoseTest.scala
index e27a67752b..8c0cf6ed03 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/FirehoseTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/FirehoseTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import code.api.Constant.{PARAM_LOCALE, PARAM_TIMESTAMP}
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/ForceErrorValidationTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/ForceErrorValidationTest.scala
index 0ff0103749..30ac934c0b 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/ForceErrorValidationTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/ForceErrorValidationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/GetScannedApiVersionsTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/GetScannedApiVersionsTest.scala
index 6fb5ff059a..e2a67b0133 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/GetScannedApiVersionsTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/GetScannedApiVersionsTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
@@ -25,6 +25,7 @@ TESOBE (http://www.tesobe.com/)
*/
package code.api.v4_0_0
+import code.api.util.ApiVersionUtils
import code.api.util.APIUtil
import code.api.util.ApiRole._
import code.api.v4_0_0.Http4s400.Implementations4_0_0
@@ -62,7 +63,11 @@ class GetScannedApiVersionsTest extends V400ServerSetup with PropsReset {
val listResult = response.body.extract[ListResult[List[ScannedApiVersion]]]
val responseApiVersions = listResult.results
- val scannedApiVersions = ApiVersion.allScannedApiVersion.asScala.toList.filter { version =>
+ // The same source the endpoint uses: the OBP versions plus the live ScannedApis scan.
+ // Building this from ApiVersion.allScannedApiVersion would assert against the registry of
+ // every ScannedApiVersion ever constructed, which is how six retired standards stayed on
+ // the wire after their code was deleted.
+ val scannedApiVersions = ApiVersionUtils.versions.filter { version =>
version.urlPrefix.trim.nonEmpty && APIUtil.versionIsAllowed(version)
}
@@ -89,7 +94,11 @@ class GetScannedApiVersionsTest extends V400ServerSetup with PropsReset {
val listResult = response.body.extract[ListResult[List[ScannedApiVersion]]]
val responseApiVersions = listResult.results
- val scannedApiVersions = ApiVersion.allScannedApiVersion.asScala.toList.filter { version =>
+ // The same source the endpoint uses: the OBP versions plus the live ScannedApis scan.
+ // Building this from ApiVersion.allScannedApiVersion would assert against the registry of
+ // every ScannedApiVersion ever constructed, which is how six retired standards stayed on
+ // the wire after their code was deleted.
+ val scannedApiVersions = ApiVersionUtils.versions.filter { version =>
version.urlPrefix.trim.nonEmpty && APIUtil.versionIsAllowed(version)
}
@@ -116,7 +125,7 @@ class GetScannedApiVersionsTest extends V400ServerSetup with PropsReset {
val listResult = response.body.extract[ListResult[List[ScannedApiVersion]]]
val responseApiVersions = listResult.results
- val scannedApiVersions = ApiVersion.allScannedApiVersion.asScala.toList.filter { version =>
+ val scannedApiVersions = ApiVersionUtils.versions.filter { version =>
version.urlPrefix.trim.nonEmpty
}
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/Http4s400ViewResolutionTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/Http4s400ViewResolutionTest.scala
index de94779a04..f0b65171c7 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/Http4s400ViewResolutionTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/Http4s400ViewResolutionTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import code.api.util.CallContext
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/JsonSchemaValidationPublicPropTrueTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/JsonSchemaValidationPublicPropTrueTest.scala
index 836cd789ff..2da5d2e817 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/JsonSchemaValidationPublicPropTrueTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/JsonSchemaValidationPublicPropTrueTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/JsonSchemaValidationTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/JsonSchemaValidationTest.scala
index 1e10ff6299..e262333762 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/JsonSchemaValidationTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/JsonSchemaValidationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/LockUserTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/LockUserTest.scala
index d799850fc9..f1a59002e9 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/LockUserTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/LockUserTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/MakerCheckerTransactionRequestTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/MakerCheckerTransactionRequestTest.scala
index 0a2560f6d6..c89dcfcd75 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/MakerCheckerTransactionRequestTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/MakerCheckerTransactionRequestTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/MapperDatabaseInfoTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/MapperDatabaseInfoTest.scala
index 8205bf7936..c352f07a3f 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/MapperDatabaseInfoTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/MapperDatabaseInfoTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/MySpaceTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/MySpaceTest.scala
index 8f556fdab8..6b54ed0364 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/MySpaceTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/MySpaceTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import com.openbankproject.commons.model.ErrorMessage
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/OPTIONSTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/OPTIONSTest.scala
index 08aae36d5b..58c09006e5 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/OPTIONSTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/OPTIONSTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/PasswordRecoverTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/PasswordRecoverTest.scala
index c9c79f51cc..3e48f23f68 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/PasswordRecoverTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/PasswordRecoverTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/ProductFeeTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/ProductFeeTest.scala
index 7a56eeaaa5..32edb97956 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/ProductFeeTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/ProductFeeTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/ProductTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/ProductTest.scala
index f6cb8ba318..4070377a98 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/ProductTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/ProductTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/RateLimitingTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/RateLimitingTest.scala
index 5de3cda87b..c1b6a2b3f0 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/RateLimitingTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/RateLimitingTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/ScopesTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/ScopesTest.scala
index c5d5b8045a..4c1e524320 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/ScopesTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/ScopesTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/SettlementAccountTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/SettlementAccountTest.scala
index d675f69b5e..84ce77eb69 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/SettlementAccountTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/SettlementAccountTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/StandingOrderTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/StandingOrderTest.scala
index 8abd11a60e..b0ad20c8b9 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/StandingOrderTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/StandingOrderTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/TransactionAttributesTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/TransactionAttributesTest.scala
index 1591bdcade..f6deb021a8 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/TransactionAttributesTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/TransactionAttributesTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestAttributesTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestAttributesTest.scala
index e22cb4bc89..47f287c267 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestAttributesTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestAttributesTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestsTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestsTest.scala
index dbc373a684..69f088c2e1 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestsTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/TransactionRequestsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/UserAttributesTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/UserAttributesTest.scala
index 58d8405055..e22bcfa3f8 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/UserAttributesTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/UserAttributesTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/UserCustomerLinkTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/UserCustomerLinkTest.scala
index ef0ee25103..a3ddd7b922 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/UserCustomerLinkTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/UserCustomerLinkTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/UserInvitationApiTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/UserInvitationApiTest.scala
index c09e9231e3..d79487bcb0 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/UserInvitationApiTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/UserInvitationApiTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/UserTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/UserTest.scala
index f1db647c2e..e0d8b2474c 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/UserTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/UserTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import java.util.UUID
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/V400ServerSetup.scala b/obp-api/src/test/scala/code/api/v4_0_0/V400ServerSetup.scala
index ba69e99330..114d59786e 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/V400ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/V400ServerSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v4_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v4_0_0/WebhooksTest.scala b/obp-api/src/test/scala/code/api/v4_0_0/WebhooksTest.scala
index dadc0f6407..64c93062b8 100644
--- a/obp-api/src/test/scala/code/api/v4_0_0/WebhooksTest.scala
+++ b/obp-api/src/test/scala/code/api/v4_0_0/WebhooksTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/ATMTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/ATMTest.scala
index b593ac1c7e..3f50fe84a5 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/ATMTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/ATMTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/AccountTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/AccountTest.scala
index 74a99758d9..c64152a9f7 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/AccountTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/AccountTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/BankTests.scala b/obp-api/src/test/scala/code/api/v5_0_0/BankTests.scala
index 9c70e09315..52cf787c06 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/BankTests.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/BankTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/ConsentRequestTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/ConsentRequestTest.scala
index 3a3bbcf27d..1cd30efbbd 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/ConsentRequestTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/ConsentRequestTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/CustomerAccountLinkTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/CustomerAccountLinkTest.scala
index 39b9dc2c0e..dc332c8208 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/CustomerAccountLinkTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/CustomerAccountLinkTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/CustomerOverviewTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/CustomerOverviewTest.scala
index d6422fa505..d6bdeb00df 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/CustomerOverviewTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/CustomerOverviewTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/CustomerTest.scala
index a2b12c7aa7..3442db3cf8 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/CustomerTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/GetAdapterInfoTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/GetAdapterInfoTest.scala
index 5eb421813c..a0b9cee6b0 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/GetAdapterInfoTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/GetAdapterInfoTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/Http4s500SystemViewsTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/Http4s500SystemViewsTest.scala
index 2ad35672f2..7859698abe 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/Http4s500SystemViewsTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/Http4s500SystemViewsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/ProductTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/ProductTest.scala
index f166609414..4452043310 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/ProductTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/ProductTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/RootAndBanksTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/RootAndBanksTest.scala
index 526ac56c0c..9146bfd5f8 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/RootAndBanksTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/RootAndBanksTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_0_0
import org.scalatest.Ignore
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/UserAuthContextTest.scala b/obp-api/src/test/scala/code/api/v5_0_0/UserAuthContextTest.scala
index f2fcf22c0c..b72910da9b 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/UserAuthContextTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/UserAuthContextTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_0_0/V500ServerSetup.scala b/obp-api/src/test/scala/code/api/v5_0_0/V500ServerSetup.scala
index 4d579290bb..3d3fb1a17f 100644
--- a/obp-api/src/test/scala/code/api/v5_0_0/V500ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/v5_0_0/V500ServerSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/AccountAccessTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/AccountAccessTest.scala
index 316600a3ce..1a2e88717f 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/AccountAccessTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/AccountAccessTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/AccountBalanceTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/AccountBalanceTest.scala
index 5d7129cade..0b7d537513 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/AccountBalanceTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/AccountBalanceTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/AccountTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/AccountTest.scala
index 2977ed56f7..ba5cf3621f 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/AccountTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/AccountTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/AgentTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/AgentTest.scala
index 8f9de9fca6..32d188d94b 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/AgentTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/AgentTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/ApiCollectionTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/ApiCollectionTest.scala
index 20c8aaf8ef..d7c46e49ec 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/ApiCollectionTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/ApiCollectionTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/ApiTagsTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/ApiTagsTest.scala
index fed5141faa..1811e3f6a0 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/ApiTagsTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/ApiTagsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import code.api.util.ErrorMessages.AuthenticatedUserIsRequired
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/AtmAttributeTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/AtmAttributeTest.scala
index 9a3e8c6037..e494acd94f 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/AtmAttributeTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/AtmAttributeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/AtmTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/AtmTest.scala
index ba8048779a..73c0e8bb46 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/AtmTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/AtmTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/BankAccountBalanceTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/BankAccountBalanceTest.scala
index 9a2e0600ad..2531a551ce 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/BankAccountBalanceTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/BankAccountBalanceTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/ConsentObpTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/ConsentObpTest.scala
index 2884b3f5d3..280ad18236 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/ConsentObpTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/ConsentObpTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/ConsentOwnershipTests.scala b/obp-api/src/test/scala/code/api/v5_1_0/ConsentOwnershipTests.scala
index be94093942..9d9ca484d5 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/ConsentOwnershipTests.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/ConsentOwnershipTests.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/ConsentsTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/ConsentsTest.scala
index 7a4afb71b2..c285495674 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/ConsentsTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/ConsentsTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/ConsumerTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/ConsumerTest.scala
index 5d047d7bcf..0beecdd1fa 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/ConsumerTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/ConsumerTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/CounterpartyLimitTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/CounterpartyLimitTest.scala
index fe447fd79f..1b36bd8646 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/CounterpartyLimitTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/CounterpartyLimitTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
import java.util.UUID
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/CurrenciesTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/CurrenciesTest.scala
index d6dd76ea54..fde4a47615 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/CurrenciesTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/CurrenciesTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/CustomViewTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/CustomViewTest.scala
index e829f4d001..6b53855e0e 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/CustomViewTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/CustomViewTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/CustomerTest.scala
index bd6190f830..45db0c9012 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/CustomerTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/Http4s510JwtSignatureResolutionTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/Http4s510JwtSignatureResolutionTest.scala
index 824353aac4..85da68f7dd 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/Http4s510JwtSignatureResolutionTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/Http4s510JwtSignatureResolutionTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import code.api.util.CallContext
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/JustInTimeEntitlementsTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/JustInTimeEntitlementsTest.scala
index 663d3fd417..f6085e4c52 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/JustInTimeEntitlementsTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/JustInTimeEntitlementsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/LockUserTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/LockUserTest.scala
index 01859acfa4..783ace92cd 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/LockUserTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/LockUserTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import code.api.Constant.localIdentityProvider
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/LogCacheEndpointTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/LogCacheEndpointTest.scala
index 24a9f3825f..4085895262 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/LogCacheEndpointTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/LogCacheEndpointTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/MetricTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/MetricTest.scala
index c0365b584f..9fab3bb868 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/MetricTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/MetricTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/RateLimitingTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/RateLimitingTest.scala
index b6ab0d5a2e..f776c7cbc5 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/RateLimitingTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/RateLimitingTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityAttributeTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityAttributeTest.scala
index e0c0abcae3..8fff603e1d 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityAttributeTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityAttributeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityTest.scala
index 6dfbc124d5..9676138524 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/RegulatedEntityTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/ResponseHeadersTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/ResponseHeadersTest.scala
index 4bb03cf744..b09af33517 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/ResponseHeadersTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/ResponseHeadersTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/SystemIntegrityTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/SystemIntegrityTest.scala
index 696f5fc272..92d8e80078 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/SystemIntegrityTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/SystemIntegrityTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/SystemViewPermissionTests.scala b/obp-api/src/test/scala/code/api/v5_1_0/SystemViewPermissionTests.scala
index 1b1901a6ce..5477249ce8 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/SystemViewPermissionTests.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/SystemViewPermissionTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/TransactionRequestTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/TransactionRequestTest.scala
index 74675a5c7a..75562c819e 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/TransactionRequestTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/TransactionRequestTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/UserAttributesTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/UserAttributesTest.scala
index b1860ec771..489a7fbe36 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/UserAttributesTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/UserAttributesTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/UserTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/UserTest.scala
index c4c9b7a4c6..47e35b7164 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/UserTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/UserTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/V510ServerSetup.scala b/obp-api/src/test/scala/code/api/v5_1_0/V510ServerSetup.scala
index f1e7169003..6abc063648 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/V510ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/V510ServerSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v5_1_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/VRPConsentRequestTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/VRPConsentRequestTest.scala
index 90a51ede40..a1e87501f9 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/VRPConsentRequestTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/VRPConsentRequestTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/WebUiPropsTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/WebUiPropsTest.scala
index 30b9b843cb..5b8767cbcf 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/WebUiPropsTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/WebUiPropsTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/AbacRuleTests.scala b/obp-api/src/test/scala/code/api/v6_0_0/AbacRuleTests.scala
index 89dd62e297..bbbe9c527d 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/AbacRuleTests.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/AbacRuleTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/AggregateMetricsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/AggregateMetricsTest.scala
index ae8155323e..741e291b5e 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/AggregateMetricsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/AggregateMetricsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/AppDirectoryTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/AppDirectoryTest.scala
index 6491e90bd2..0698b96517 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/AppDirectoryTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/AppDirectoryTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/BankTests.scala b/obp-api/src/test/scala/code/api/v6_0_0/BankTests.scala
index 245354808a..4f18373b92 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/BankTests.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/BankTests.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/CacheEndpointsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/CacheEndpointsTest.scala
index 5fb201d06c..285e4abde9 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/CacheEndpointsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/CacheEndpointsTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/CardanoTransactionRequestTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/CardanoTransactionRequestTest.scala
index 679c59839a..3f4b82e24a 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/CardanoTransactionRequestTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/CardanoTransactionRequestTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/ConsumerTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/ConsumerTest.scala
index acd6195143..30ca78debc 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/ConsumerTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/ConsumerTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/CounterpartyAttributeTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/CounterpartyAttributeTest.scala
index 1bd62c51af..66117cf280 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/CounterpartyAttributeTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/CounterpartyAttributeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/CreateUserTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/CreateUserTest.scala
index c60447f5d9..53645409ea 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/CreateUserTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/CreateUserTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/CustomViewsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/CustomViewsTest.scala
index f1af037374..4b9d5e74f5 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/CustomViewsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/CustomViewsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/CustomerTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/CustomerTest.scala
index 4d5ed916cd..46edb4ca6e 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/CustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/CustomerTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/DirectLoginV600Test.scala b/obp-api/src/test/scala/code/api/v6_0_0/DirectLoginV600Test.scala
index 187555492a..166300fcd8 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/DirectLoginV600Test.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/DirectLoginV600Test.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityAccessFlagsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityAccessFlagsTest.scala
index aebf94e6d3..8c03ff672a 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityAccessFlagsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityAccessFlagsTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityAuthModeTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityAuthModeTest.scala
index 4fbbe24faf..5d2a4671f8 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityAuthModeTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityAuthModeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityConsentUserTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityConsentUserTest.scala
index 7e299474ef..5da7183c77 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityConsentUserTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityConsentUserTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import code.api.RequestHeader
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFieldRolesTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFieldRolesTest.scala
index edcdc29630..77cdc96746 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFieldRolesTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFieldRolesTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFilterAndBankAccessTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFilterAndBankAccessTest.scala
index 7f02e37bae..0d4aa3fceb 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFilterAndBankAccessTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityFilterAndBankAccessTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityJoinQueryIntegrationTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityJoinQueryIntegrationTest.scala
index 95e773f0fa..2d70ef7e91 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityJoinQueryIntegrationTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityJoinQueryIntegrationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import code.api.dynamic.entity.projection.{IndexingCapabilities, ProjectionProvisioner}
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityRowLevelAccessTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityRowLevelAccessTest.scala
index 1852aece67..a7d0d6ff22 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityRowLevelAccessTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityRowLevelAccessTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityTest.scala
index beef6b4ec1..782ca47048 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/DynamicEntityTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/EndpointAuthModeTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/EndpointAuthModeTest.scala
index 22948d52f9..c4d8c05171 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/EndpointAuthModeTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/EndpointAuthModeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import code.api.util.APIUtil._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/GetOidcClientTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/GetOidcClientTest.scala
index ca2f7b8db0..f40c4af728 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/GetOidcClientTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/GetOidcClientTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/GetUserByUserIdTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/GetUserByUserIdTest.scala
index 56bd4da6fd..b71393e674 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/GetUserByUserIdTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/GetUserByUserIdTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/GetUsersTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/GetUsersTest.scala
index 3f4f10dd68..233b86fcb2 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/GetUsersTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/GetUsersTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/GroupEntitlementsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/GroupEntitlementsTest.scala
index 6a15429f5a..49097fee53 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/GroupEntitlementsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/GroupEntitlementsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/Http4s600ResetPasswordPortalUrlTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/Http4s600ResetPasswordPortalUrlTest.scala
index edd6e63973..0e979bdfed 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/Http4s600ResetPasswordPortalUrlTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/Http4s600ResetPasswordPortalUrlTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import code.api.util.CallContext
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/MessageDocsJsonSchemaTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/MessageDocsJsonSchemaTest.scala
index 8538f645be..c80560efb7 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/MessageDocsJsonSchemaTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/MessageDocsJsonSchemaTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/MetricAuthTypeTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/MetricAuthTypeTest.scala
index 1a79eb22f6..9733fd6076 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/MetricAuthTypeTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/MetricAuthTypeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/MigrationsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/MigrationsTest.scala
index 31ebba4c0f..5723c64ef6 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/MigrationsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/MigrationsTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/PasswordResetTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/PasswordResetTest.scala
index f1c403cf13..83b27b27fa 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/PasswordResetTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/PasswordResetTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/ProjectionDataPlaneIntegrationTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/ProjectionDataPlaneIntegrationTest.scala
index 0d6be0965a..ac38263d16 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/ProjectionDataPlaneIntegrationTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/ProjectionDataPlaneIntegrationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import code.api.dynamic.entity.projection.{IndexingCapabilities, ProjectionDb, ProjectionDDL, ProjectionSql, ProjectionStore}
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/RateLimitsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/RateLimitsTest.scala
index 3f2e6d606f..1b6a767421 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/RateLimitsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/RateLimitsTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/RetailAndCorporateCustomerTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/RetailAndCorporateCustomerTest.scala
index 896acf2295..60dffd3299 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/RetailAndCorporateCustomerTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/RetailAndCorporateCustomerTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/SignalChannelTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/SignalChannelTest.scala
index d3ab45443b..448aecd362 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/SignalChannelTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/SignalChannelTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/SystemViewsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/SystemViewsTest.scala
index 13f4ec2fdf..1c6a6cbc57 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/SystemViewsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/SystemViewsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/V600ServerSetup.scala b/obp-api/src/test/scala/code/api/v6_0_0/V600ServerSetup.scala
index c6fb6d92d8..3271279254 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/V600ServerSetup.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/V600ServerSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import code.setup.{DefaultUsers, ServerSetupWithTestData}
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/V6EntitlementCascadeTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/V6EntitlementCascadeTest.scala
index cf3eaa4b3c..5bc94de4d6 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/V6EntitlementCascadeTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/V6EntitlementCascadeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/VerifyExternalUserCredentialsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/VerifyExternalUserCredentialsTest.scala
index 0a666eeedd..8ed8075afc 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/VerifyExternalUserCredentialsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/VerifyExternalUserCredentialsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/VerifyOidcClientTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/VerifyOidcClientTest.scala
index e1c41f6f8a..88e14a6c5a 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/VerifyOidcClientTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/VerifyOidcClientTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/VerifyUserCredentialsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/VerifyUserCredentialsTest.scala
index 53239879f3..60418036c1 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/VerifyUserCredentialsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/VerifyUserCredentialsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/ViewPermissionsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/ViewPermissionsTest.scala
index 6a1e5baee5..0eff6f420b 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/ViewPermissionsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/ViewPermissionsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v6_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v6_0_0/WebUiPropsTest.scala b/obp-api/src/test/scala/code/api/v6_0_0/WebUiPropsTest.scala
index e47992112f..caf3462d09 100644
--- a/obp-api/src/test/scala/code/api/v6_0_0/WebUiPropsTest.scala
+++ b/obp-api/src/test/scala/code/api/v6_0_0/WebUiPropsTest.scala
@@ -17,7 +17,7 @@ along with this program. If not, see .
Email: contact@tesobe.com
TESOBE GmbH
-Osloerstrasse 16/17
+Osloer Strasse 16/17
Berlin 13359, Germany
This product includes software developed at
diff --git a/obp-api/src/test/scala/code/api/v7_0_0/ApiProductSubscriptionTest.scala b/obp-api/src/test/scala/code/api/v7_0_0/ApiProductSubscriptionTest.scala
index a2094c3d69..a3f153a232 100644
--- a/obp-api/src/test/scala/code/api/v7_0_0/ApiProductSubscriptionTest.scala
+++ b/obp-api/src/test/scala/code/api/v7_0_0/ApiProductSubscriptionTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v7_0_0
import code.api.util.APIUtil.OAuth._
@@ -22,7 +49,7 @@ import org.scalatest.Tag
import java.util.UUID
/**
- * API Product Subscription (Phase 2 of API_PRODUCT_SUBSCRIPTION_PLAN.md).
+ * API Product Subscription (Phase 2 of docs/API_PRODUCT_SUBSCRIPTION_PLAN.md).
*
* The API Product itself is a v6.0.0 resource, so products and their attributes are created through
* v6.0.0; every subscription endpoint under test is v7.0.0.
diff --git a/obp-api/src/test/scala/code/api/v7_0_0/ApiTagsTest.scala b/obp-api/src/test/scala/code/api/v7_0_0/ApiTagsTest.scala
index 06e8d500cb..7aff98415a 100644
--- a/obp-api/src/test/scala/code/api/v7_0_0/ApiTagsTest.scala
+++ b/obp-api/src/test/scala/code/api/v7_0_0/ApiTagsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v7_0_0
import code.api.v7_0_0.Http4s700.Implementations7_0_0
diff --git a/obp-api/src/test/scala/code/api/v7_0_0/CurrentConsumerIdentityTest.scala b/obp-api/src/test/scala/code/api/v7_0_0/CurrentConsumerIdentityTest.scala
index e1303783fa..4a1bf6e13f 100644
--- a/obp-api/src/test/scala/code/api/v7_0_0/CurrentConsumerIdentityTest.scala
+++ b/obp-api/src/test/scala/code/api/v7_0_0/CurrentConsumerIdentityTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v7_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v7_0_0/CustomerConsentUserTest.scala b/obp-api/src/test/scala/code/api/v7_0_0/CustomerConsentUserTest.scala
new file mode 100644
index 0000000000..a64c2df5cd
--- /dev/null
+++ b/obp-api/src/test/scala/code/api/v7_0_0/CustomerConsentUserTest.scala
@@ -0,0 +1,192 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
+package code.api.v7_0_0
+
+import java.util.Date
+
+import code.api.RequestHeader
+import code.api.util.APIUtil.OAuth._
+import code.api.util.ErrorMessages._
+import code.api.util.{APIUtil, Consent}
+import code.api.v3_1_0.{ConsentJsonV310, PostConsentChallengeJsonV310}
+import code.api.v6_0_0.V600ServerSetup
+import code.customer.CustomerX
+import code.usercustomerlinks.UserCustomerLink
+import com.openbankproject.commons.model.{BankId, CustomerFaceImage, ErrorMessage}
+import com.openbankproject.commons.util.ApiVersion
+import code.setup.OBPReq
+import org.json4s._
+import org.json4s.JsonDSL._
+import org.json4s.native.Serialization.write
+import org.scalatest.Tag
+
+/**
+ * The v7.0.0 "my customers" reads and consent users. ON_BEHALF_OF_USER_ID_PLAN.md Decision 11 and
+ * ideas/CONSENT_MY_RESOURCES.md.
+ *
+ * A consent user owns nothing, so on the older versions of these endpoints it reads back nothing --
+ * including the Customers it just linked for its human ("dropping stones into a well"). The v7 pair
+ * reads for the on-behalf-of User instead, and only when the Consent's `my_resources.linked_customers`
+ * names the Bank with the `read` action.
+ *
+ * The two properties worth pinning here are the ones a unit test cannot see:
+ * - a Consent that grants nothing gets 403 naming the missing entry, never an empty list -- an agent
+ * must always be able to tell "you may not see this" from "there is nothing here";
+ * - a grant is all-or-nothing within the Bank it names: never a provenance-filtered subset.
+ */
+class CustomerConsentUserTest extends V600ServerSetup {
+
+ object VersionOfApi extends Tag(ApiVersion.v7_0_0.toString)
+ object ConsentUserTag extends Tag("CustomerConsentUser")
+
+ def v7_0_0_Request: OBPReq = baseRequest / "obp" / "v7.0.0"
+
+ private val consumerKeyHeader = List((RequestHeader.`Consumer-Key`, user1.map(_._1.key).getOrElse("SHOULD_NOT_HAPPEN")))
+
+ /** A Customer at `bankId` linked to user1, created through the providers (no endpoint round trip). */
+ private def linkedCustomerNumber(bankId: BankId): String = {
+ val number = APIUtil.generateUUID().take(12)
+ val customer = CustomerX.customerProvider.vend.addCustomer(
+ bankId, number, "Consent User Test", "+49 123 456", "consent-user-test@example.com",
+ CustomerFaceImage(new Date(), "http://example.com/face.png"),
+ new Date(), "single", 0, Nil, "Bachelor", "employed", true, new Date(),
+ None, None, "", "", ""
+ ).openOrThrowException("expected the customer to be created")
+ UserCustomerLink.userCustomerLink.vend
+ .createUserCustomerLink(resourceUser1.userId, customer.customerId, new Date(), true)
+ .openOrThrowException("expected the user-customer link")
+ number
+ }
+
+ private def linkedCustomersGrant(bankId: String, actions: List[String]): JValue =
+ "linked_customers" -> JArray(List(("bank_id" -> bankId) ~ ("actions" -> actions)))
+
+ private def consentBody(myResources: Option[JValue]): JValue = {
+ val base: JObject =
+ ("everything" -> false) ~
+ ("views" -> JArray(Nil)) ~
+ ("entitlements" -> JArray(Nil)) ~
+ ("consumer_id" -> testConsumer.consumerId.get) ~
+ ("time_to_live" -> 3600)
+ myResources.map(mr => base ~ ("my_resources" -> mr)).getOrElse(base)
+ }
+
+ private def postConsent(myResources: Option[JValue]) = {
+ setPropsValues("consents.allowed" -> "true", "consumer_validation_method_for_consent" -> "CONSUMER_KEY_VALUE")
+ makePostRequest(
+ (v6_0_0_Request / "my" / "consents" / "IMPLICIT").POST <@ (user1),
+ write(consentBody(myResources)), consumerKeyHeader)
+ }
+
+ /** A Consent granted by user1 and answered, as request headers — the caller is then a consent user. */
+ private def consentHeaders(myResources: Option[JValue]): List[(String, String)] = {
+ val created = postConsent(myResources)
+ created.code should equal(201)
+ val consent = created.body.extract[ConsentJsonV310]
+ val answered = makePostRequest(
+ (v5_1_0_Request / "banks" / testBankId1.value / "consents" / consent.consent_id / "challenge").POST <@ (user1),
+ write(PostConsentChallengeJsonV310(answer = Consent.challengeAnswerAtTestEnvironment)))
+ answered.code should equal(201)
+ List((RequestHeader.`Consent-JWT`, consent.jwt)) ::: consumerKeyHeader
+ }
+
+ private def customerNumbersOf(body: JValue): List[String] =
+ (body \ "customers").extract[List[JObject]].map(o => (o \ "customer_number").extract[String])
+
+ feature("GET /my/customers and /banks/BANK_ID/my/customers with a Consent (my_resources.linked_customers)") {
+
+ scenario("the granting User reads their own linked Customers, with no Consent involved", VersionOfApi, ConsentUserTag) {
+ val number = linkedCustomerNumber(testBankId1)
+
+ val all = makeGetRequest((v7_0_0_Request / "my" / "customers").GET <@ (user1))
+ all.code should equal(200)
+ customerNumbersOf(all.body) should contain(number)
+
+ val atBank = makeGetRequest((v7_0_0_Request / "banks" / testBankId1.value / "my" / "customers").GET <@ (user1))
+ atBank.code should equal(200)
+ customerNumbersOf(atBank.body) should contain(number)
+ }
+
+ scenario("a consent user whose Consent grants no linked_customers is refused, not handed an empty list", VersionOfApi, ConsentUserTag) {
+ linkedCustomerNumber(testBankId1)
+ val headers = consentHeaders(None)
+
+ val all = makeGetRequest((v7_0_0_Request / "my" / "customers").GET, headers)
+ all.code should equal(403)
+ all.body.extract[ErrorMessage].message should include(ConsentMyResourcesMissing)
+
+ val atBank = makeGetRequest((v7_0_0_Request / "banks" / testBankId1.value / "my" / "customers").GET, headers)
+ atBank.code should equal(403)
+ atBank.body.extract[ErrorMessage].message should include(ConsentMyResourcesMissing)
+ atBank.body.extract[ErrorMessage].message should include(testBankId1.value)
+ }
+
+ scenario("a consent user whose Consent names the Bank reads the granting User's Customers", VersionOfApi, ConsentUserTag) {
+ val number = linkedCustomerNumber(testBankId1)
+ val headers = consentHeaders(Some(linkedCustomersGrant(testBankId1.value, List("read"))))
+
+ val all = makeGetRequest((v7_0_0_Request / "my" / "customers").GET, headers)
+ all.code should equal(200)
+ customerNumbersOf(all.body) should contain(number)
+
+ val atBank = makeGetRequest((v7_0_0_Request / "banks" / testBankId1.value / "my" / "customers").GET, headers)
+ atBank.code should equal(200)
+ customerNumbersOf(atBank.body) should contain(number)
+ }
+
+ // The grant is per Bank, and a Bank is not looked up when the Consent is created: an entry naming a
+ // Bank that does not exist is accepted and simply covers nothing.
+ scenario("a grant for another Bank does not open this one", VersionOfApi, ConsentUserTag) {
+ linkedCustomerNumber(testBankId1)
+ val headers = consentHeaders(Some(linkedCustomersGrant("a-bank-this-consent-does-not-mean", List("read"))))
+
+ val atBank = makeGetRequest((v7_0_0_Request / "banks" / testBankId1.value / "my" / "customers").GET, headers)
+ atBank.code should equal(403)
+ atBank.body.extract[ErrorMessage].message should include(ConsentMyResourcesMissing)
+ }
+
+ scenario("the read action is what grants reading — a write-only grant does not", VersionOfApi, ConsentUserTag) {
+ linkedCustomerNumber(testBankId1)
+ val headers = consentHeaders(Some(linkedCustomersGrant(testBankId1.value, List("write"))))
+
+ val atBank = makeGetRequest((v7_0_0_Request / "banks" / testBankId1.value / "my" / "customers").GET, headers)
+ atBank.code should equal(403)
+ atBank.body.extract[ErrorMessage].message should include(ConsentMyResourcesMissing)
+ }
+
+ scenario("a malformed linked_customers entry is refused when the Consent is created", VersionOfApi, ConsentUserTag) {
+ val noBank = postConsent(Some(linkedCustomersGrant("", List("read"))))
+ noBank.code should equal(400)
+ noBank.body.extract[ErrorMessage].message should include(ConsentMyResourcesInvalid)
+
+ val badAction = postConsent(Some(linkedCustomersGrant(testBankId1.value, List("delete"))))
+ badAction.code should equal(400)
+ badAction.body.extract[ErrorMessage].message should include(ConsentMyResourcesInvalid)
+ }
+ }
+}
diff --git a/obp-api/src/test/scala/code/api/v7_0_0/DynamicChangeRequestTest.scala b/obp-api/src/test/scala/code/api/v7_0_0/DynamicChangeRequestTest.scala
index 36f9e48fe9..832563ceec 100644
--- a/obp-api/src/test/scala/code/api/v7_0_0/DynamicChangeRequestTest.scala
+++ b/obp-api/src/test/scala/code/api/v7_0_0/DynamicChangeRequestTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v7_0_0
import code.api.ResourceDocs1_4_0.SwaggerDefinitionsJSON
@@ -19,7 +46,7 @@ import org.scalatest.Tag
import java.net.URLDecoder
/**
- * Maker/checker for dynamic code (MAKER_CHECKER_DYNAMIC_CODE_DESIGN.md), phase 1, exercised
+ * Maker/checker for dynamic code (docs/MAKER_CHECKER_DYNAMIC_CODE_DESIGN.md), phase 1, exercised
* end-to-end over HTTP: a v4.0.0 write is intercepted into a DynamicChangeRequest (202), a second
* user approves it by hash, the artefact then exists and executes; plus rejection, withdrawal,
* deactivation, the execution guard against direct DB tampering, and the role/auth surface.
diff --git a/obp-api/src/test/scala/code/api/v7_0_0/DynamicGlossaryItemTest.scala b/obp-api/src/test/scala/code/api/v7_0_0/DynamicGlossaryItemTest.scala
index 3edf7f3831..6f51d7b252 100644
--- a/obp-api/src/test/scala/code/api/v7_0_0/DynamicGlossaryItemTest.scala
+++ b/obp-api/src/test/scala/code/api/v7_0_0/DynamicGlossaryItemTest.scala
@@ -1,10 +1,38 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v7_0_0
import code.api.util.APIUtil.OAuth._
import code.api.util.ApiRole._
import code.api.util.ErrorMessages._
+import code.api.util.Glossary
import code.api.v3_0_0.GlossaryItemsJsonV300
-import code.api.v7_0_0.JSONFactory700.{ApiGlossaryJsonV700, GlossaryItemJsonV700, GlossaryItemsJsonV700, PostGlossaryItemJsonV700, PutGlossaryItemJsonV700}
+import code.api.v7_0_0.JSONFactory700.{GlossaryJsonV700, GlossaryItemJsonV700, PostGlossaryItemJsonV700, PutGlossaryItemJsonV700}
import code.api.v7_0_0.Http4s700.Implementations7_0_0
import code.entitlement.Entitlement
import code.setup.ServerSetupWithTestData
@@ -28,11 +56,11 @@ import java.util.UUID
class DynamicGlossaryItemTest extends ServerSetupWithTestData {
object VersionOfApi extends Tag(ApiVersion.v7_0_0.toString)
- object ApiEndpoint1 extends Tag(nameOf(Implementations7_0_0.createDynamicGlossaryItem))
- object ApiEndpoint2 extends Tag(nameOf(Implementations7_0_0.getDynamicGlossaryItems))
- object ApiEndpoint3 extends Tag(nameOf(Implementations7_0_0.getDynamicGlossaryItem))
- object ApiEndpoint4 extends Tag(nameOf(Implementations7_0_0.updateDynamicGlossaryItem))
- object ApiEndpoint5 extends Tag(nameOf(Implementations7_0_0.deleteDynamicGlossaryItem))
+ object ApiEndpoint1 extends Tag(nameOf(Implementations7_0_0.createGlossaryItem))
+ object ApiEndpoint3 extends Tag(nameOf(Implementations7_0_0.getGlossaryItem))
+ object ApiEndpoint4 extends Tag(nameOf(Implementations7_0_0.updateGlossaryItem))
+ object ApiEndpoint5 extends Tag(nameOf(Implementations7_0_0.deleteGlossaryItem))
+ object ApiEndpoint6 extends Tag(nameOf(Implementations7_0_0.getGlossary))
def v3 = baseRequest / "obp" / "v3.0.0"
def v4 = baseRequest / "obp" / "v4.0.0"
@@ -52,15 +80,15 @@ class DynamicGlossaryItemTest extends ServerSetupWithTestData {
def errorOf(response: code.setup.APIResponse): String = response.body.extract[ErrorMessage].message
def post(title: String, description: String, as: Option[(Consumer, Token)], overrides: Option[Boolean] = None) =
- makePostRequest((v7 / "glossary-items").POST <@ (as),
+ makePostRequest((v7 / "api" / "glossary").POST <@ (as),
write(PostGlossaryItemJsonV700(title = title, description = description, overrides_static_item = overrides)))
def put(title: String, description: String, as: Option[(Consumer, Token)], overrides: Option[Boolean] = None) =
- makePutRequest((v7 / "glossary-items" / title).PUT <@ (as),
+ makePutRequest((v7 / "api" / "glossary" / title).PUT <@ (as),
write(PutGlossaryItemJsonV700(description = description, overrides_static_item = overrides)))
def delete(title: String, as: Option[(Consumer, Token)]) =
- makeDeleteRequest((v7 / "glossary-items" / title).DELETE <@ (as))
+ makeDeleteRequest((v7 / "api" / "glossary" / title).DELETE <@ (as))
def created(title: String, description: String, as: Option[(Consumer, Token)],
overrides: Option[Boolean] = None): GlossaryItemJsonV700 = {
@@ -81,7 +109,7 @@ class DynamicGlossaryItemTest extends ServerSetupWithTestData {
scenario("Authentication and the role are both required", ApiEndpoint1, VersionOfApi) {
When("no user is given")
- val anonymous = makePostRequest((v7 / "glossary-items").POST,
+ val anonymous = makePostRequest((v7 / "api" / "glossary").POST,
write(PostGlossaryItemJsonV700(title = newTitle(), description = "x", overrides_static_item = None)))
Then("the call is unauthorised")
anonymous.code should equal(401)
@@ -93,7 +121,7 @@ class DynamicGlossaryItemTest extends ServerSetupWithTestData {
errorOf(forbidden) should include(CanCreateGlossaryItem.toString)
}
- scenario("Create, then read it back", ApiEndpoint1, ApiEndpoint2, ApiEndpoint3, VersionOfApi) {
+ scenario("Create, then read it back", ApiEndpoint1, ApiEndpoint3, ApiEndpoint6, VersionOfApi) {
grantSystemRole(resourceUser1.userId, CanCreateGlossaryItem.toString)
val title = newTitle()
@@ -105,23 +133,24 @@ class DynamicGlossaryItemTest extends ServerSetupWithTestData {
item.description.html should include("bold")
item.overrides_static_item should equal(false)
item.shadows_static_glossary_item should equal(false)
- item.created_by_user_id should equal(resourceUser1.userId)
+ item.is_dynamic should equal(true)
+ item.created_by_user_id should equal(Some(resourceUser1.userId))
item.glossary_item_id should not be empty
And("it is listed, and readable by title")
- val listed = makeGetRequest((v7 / "glossary-items").GET <@ (user1))
+ val listed = makeGetRequest((v7 / "api" / "glossary").GET <@ (user1) < List(("source", "dynamic")))
listed.code should equal(200)
- listed.body.extract[GlossaryItemsJsonV700].glossary_items.map(_.title) should contain(title)
+ listed.body.extract[GlossaryJsonV700].glossary_items.map(_.title) should contain(title)
- val single = makeGetRequest((v7 / "glossary-items" / title).GET <@ (user1))
+ val single = makeGetRequest((v7 / "api" / "glossary" / title).GET <@ (user1))
single.code should equal(200)
single.body.extract[GlossaryItemJsonV700].glossary_item_id should equal(item.glossary_item_id)
And("the title is matched case insensitively")
- makeGetRequest((v7 / "glossary-items" / title.toUpperCase).GET <@ (user1)).code should equal(200)
+ makeGetRequest((v7 / "api" / "glossary" / title.toUpperCase).GET <@ (user1)).code should equal(200)
And("an unknown title is 404")
- val missing = makeGetRequest((v7 / "glossary-items" / newTitle()).GET <@ (user1))
+ val missing = makeGetRequest((v7 / "api" / "glossary" / newTitle()).GET <@ (user1))
missing.code should equal(404)
errorOf(missing) should startWith(GlossaryItemNotFound)
}
@@ -190,7 +219,7 @@ class DynamicGlossaryItemTest extends ServerSetupWithTestData {
grantSystemRole(resourceUser1.userId, CanDeleteGlossaryItem.toString)
Then("the item is deleted and gone")
delete(title, user1).code should equal(204)
- makeGetRequest((v7 / "glossary-items" / title).GET <@ (user1)).code should equal(404)
+ makeGetRequest((v7 / "api" / "glossary" / title).GET <@ (user1)).code should equal(404)
And("deleting it again is 404")
val again = delete(title, user1)
@@ -291,7 +320,7 @@ class DynamicGlossaryItemTest extends ServerSetupWithTestData {
def itemInGlossary(title: String) = {
val response = makeGetRequest((v7 / "api" / "glossary").GET)
response.code should equal(200)
- response.body.extract[ApiGlossaryJsonV700].glossary_items.find(_.title.equalsIgnoreCase(title))
+ response.body.extract[GlossaryJsonV700].glossary_items.find(_.title.equalsIgnoreCase(title))
}
Given("a static Glossary Item is reported as neither dynamic nor overriding")
@@ -350,6 +379,158 @@ class DynamicGlossaryItemTest extends ServerSetupWithTestData {
}
}
+ feature("A Glossary Item can be looked up by title whether it is static or Dynamic") {
+
+ scenario("A static title returns the shipped text rather than 404", ApiEndpoint3, VersionOfApi) {
+ // Reading the static text is the step before deciding to override it, so 404 here was a dead
+ // end: the only endpoint that takes a title could not show the text being replaced.
+ val response = makeGetRequest((v7 / "api" / "glossary" / staticTitle).GET <@ (user1))
+ response.code should equal(200)
+ val item = response.body.extract[GlossaryItemJsonV700]
+ item.title should equal(staticTitle)
+ item.is_dynamic should equal(false)
+
+ And("a static Item has nothing to manage, so those fields are absent")
+ item.glossary_item_id should equal(None)
+ item.created_by_user_id should equal(None)
+ item.created_at should equal(None)
+ item.updated_at should equal(None)
+ }
+
+ scenario("A Dynamic Item of the same title wins, as it does in the served Glossary", ApiEndpoint1, ApiEndpoint3, ApiEndpoint5, VersionOfApi) {
+ grantSystemRole(resourceUser1.userId, CanCreateGlossaryItem.toString)
+ grantSystemRole(resourceUser1.userId, CanDeleteGlossaryItem.toString)
+ created(staticTitle, "The database text.", user1, overrides = Some(true))
+
+ val overridden = makeGetRequest((v7 / "api" / "glossary" / staticTitle).GET <@ (user1))
+ overridden.code should equal(200)
+ val item = overridden.body.extract[GlossaryItemJsonV700]
+ item.is_dynamic should equal(true)
+ item.description.markdown should equal("The database text.")
+ item.shadows_static_glossary_item should equal(true)
+
+ When("the Dynamic Item is deleted")
+ delete(staticTitle, user1).code should equal(204)
+ Then("the static text is served again")
+ val restored = makeGetRequest((v7 / "api" / "glossary" / staticTitle).GET <@ (user1))
+ restored.code should equal(200)
+ restored.body.extract[GlossaryItemJsonV700].is_dynamic should equal(false)
+ }
+ }
+
+ feature("Reading one Item, and filtering the Glossary") {
+
+ // An agent that wants one Item should not have to download the ~1MB Glossary to find it.
+ scenario("An Item is read at its own path, without a login", ApiEndpoint1, ApiEndpoint5, ApiEndpoint3, VersionOfApi) {
+ grantSystemRole(resourceUser1.userId, CanCreateGlossaryItem.toString)
+ grantSystemRole(resourceUser1.userId, CanDeleteGlossaryItem.toString)
+ val title = newTitle()
+ created(title, "The only one wanted.", user1)
+
+ When("the Item is asked for by title, anonymously")
+ val response = makeGetRequest((v7 / "api" / "glossary" / title).GET)
+ Then("it comes back on its own, as the Glossary itself does without a login")
+ response.code should equal(200)
+ response.body.extract[GlossaryItemJsonV700].title should equal(title)
+
+ And("created_by_user_id is not part of an anonymous answer")
+ response.body.extract[GlossaryItemJsonV700].created_by_user_id should equal(None)
+ makeGetRequest((v7 / "api" / "glossary" / title).GET <@ (user1))
+ .body.extract[GlossaryItemJsonV700].created_by_user_id should equal(Some(resourceUser1.userId))
+
+ delete(title, user1).code should equal(204)
+ }
+
+ scenario("The hyphenated anchor form of a title finds the Item", ApiEndpoint3, VersionOfApi) {
+ // Descriptions link to Items as /glossary#Signal-Channels, so that is the form a reader meets
+ // first. It should not have to guess where the spaces were, or the case.
+ val response = makeGetRequest((v7 / "api" / "glossary" / "signal-channels").GET)
+ response.code should equal(200)
+ response.body.extract[GlossaryItemJsonV700].title should equal("Signal Channels")
+ }
+
+ scenario("A title no Item has is 404", ApiEndpoint3, VersionOfApi) {
+ val response = makeGetRequest((v7 / "api" / "glossary" / newTitle()).GET)
+ response.code should equal(404)
+ errorOf(response) should startWith("OBP-30571")
+ }
+
+ scenario("source and search narrow the Glossary, and neither is required", ApiEndpoint1, ApiEndpoint5, ApiEndpoint6, VersionOfApi) {
+ grantSystemRole(resourceUser1.userId, CanCreateGlossaryItem.toString)
+ grantSystemRole(resourceUser1.userId, CanDeleteGlossaryItem.toString)
+ val title = newTitle()
+ created(title, "Only in the database.", user1)
+
+ When("no parameter is given")
+ val all = makeGetRequest((v7 / "api" / "glossary").GET)
+ all.code should equal(200)
+ Then("the whole Glossary is served, as it has been for years")
+ val everything = all.body.extract[GlossaryJsonV700]
+ everything.glossary_items.size should be > 1
+ everything.total_count should equal(everything.glossary_items.size)
+
+ When("source is dynamic")
+ val dynamic = makeGetRequest((v7 / "api" / "glossary").GET < List(("source", "dynamic")))
+ dynamic.code should equal(200)
+ Then("only Items from the database come back")
+ val dynamicItems = dynamic.body.extract[GlossaryJsonV700].glossary_items
+ dynamicItems.map(_.title) should contain(title)
+ dynamicItems.forall(_.is_dynamic) should equal(true)
+
+ And("source static excludes them")
+ makeGetRequest((v7 / "api" / "glossary").GET < List(("source", "static")))
+ .body.extract[GlossaryJsonV700].glossary_items.map(_.title) should not contain title
+
+ And("an unknown source is refused rather than ignored")
+ val bad = makeGetRequest((v7 / "api" / "glossary").GET < List(("source", "database")))
+ bad.code should equal(400)
+ errorOf(bad) should startWith("OBP-30578")
+
+ And("search matches on title, case insensitively")
+ makeGetRequest((v7 / "api" / "glossary").GET < List(("search", title.toUpperCase)))
+ .body.extract[GlossaryJsonV700].glossary_items.map(_.title) should equal(List(title))
+
+ delete(title, user1).code should equal(204)
+ }
+
+ scenario("limit and offset page the result, and total_count counts what matched", ApiEndpoint6, VersionOfApi) {
+ val firstTwo = makeGetRequest((v7 / "api" / "glossary").GET < List(("limit", "2")))
+ firstTwo.code should equal(200)
+ val page = firstTwo.body.extract[GlossaryJsonV700]
+ page.glossary_items.size should equal(2)
+ withClue("total_count is the size of the match, not of the page: ") {
+ page.total_count should be > 2
+ }
+
+ And("offset moves the window")
+ val second = makeGetRequest((v7 / "api" / "glossary").GET < List(("limit", "1"), ("offset", "1")))
+ second.body.extract[GlossaryJsonV700].glossary_items.map(_.title) should equal(
+ page.glossary_items.drop(1).map(_.title))
+ }
+
+ scenario("expanded=false returns the text as authored, which is what PUT takes", ApiEndpoint1, ApiEndpoint5, ApiEndpoint3, VersionOfApi) {
+ // Items quote each other through placeholders. Expanding them is right for a reader and
+ // wrong for an editor, which would otherwise save the expansion over the original.
+ grantSystemRole(resourceUser1.userId, CanCreateGlossaryItem.toString)
+ grantSystemRole(resourceUser1.userId, CanDeleteGlossaryItem.toString)
+ val title = newTitle()
+ val authored = "See " + Glossary.getGlossaryItemLink("Consent") + " for the rules."
+ created(title, authored, user1)
+
+ val asAuthored = makeGetRequest((v7 / "api" / "glossary" / title).GET < List(("expanded", "false")))
+ asAuthored.code should equal(200)
+ asAuthored.body.extract[GlossaryItemJsonV700].description.markdown should equal(authored)
+
+ val asRead = makeGetRequest((v7 / "api" / "glossary" / title).GET)
+ asRead.code should equal(200)
+ val rendered = asRead.body.extract[GlossaryItemJsonV700].description.markdown
+ rendered should not equal authored
+ rendered should not include "OBP-GLOSSARY"
+
+ delete(title, user1).code should equal(204)
+ }
+ }
+
feature("The STABLE v3.0.0 Glossary keeps its shape") {
scenario("v3.0.0 serves the same merged Glossary, without the v7 provenance fields", VersionOfApi) {
diff --git a/obp-api/src/test/scala/code/api/v7_0_0/Http4s700RoutesTest.scala b/obp-api/src/test/scala/code/api/v7_0_0/Http4s700RoutesTest.scala
index 720deb43c7..842c2b152d 100644
--- a/obp-api/src/test/scala/code/api/v7_0_0/Http4s700RoutesTest.scala
+++ b/obp-api/src/test/scala/code/api/v7_0_0/Http4s700RoutesTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v7_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v7_0_0/Http4s700TransactionTest.scala b/obp-api/src/test/scala/code/api/v7_0_0/Http4s700TransactionTest.scala
index 3c88fa69a3..be56dff6d2 100644
--- a/obp-api/src/test/scala/code/api/v7_0_0/Http4s700TransactionTest.scala
+++ b/obp-api/src/test/scala/code/api/v7_0_0/Http4s700TransactionTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v7_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/api/v7_0_0/RateLimitersTest.scala b/obp-api/src/test/scala/code/api/v7_0_0/RateLimitersTest.scala
index 8a1a0c1506..5a9a44c2f0 100644
--- a/obp-api/src/test/scala/code/api/v7_0_0/RateLimitersTest.scala
+++ b/obp-api/src/test/scala/code/api/v7_0_0/RateLimitersTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v7_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v7_0_0/TopConsumersTest.scala b/obp-api/src/test/scala/code/api/v7_0_0/TopConsumersTest.scala
index 87a23f112d..1d01d95b67 100644
--- a/obp-api/src/test/scala/code/api/v7_0_0/TopConsumersTest.scala
+++ b/obp-api/src/test/scala/code/api/v7_0_0/TopConsumersTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v7_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v7_0_0/TopUsersTest.scala b/obp-api/src/test/scala/code/api/v7_0_0/TopUsersTest.scala
index 15a0c1ac8e..3c18efaf7c 100644
--- a/obp-api/src/test/scala/code/api/v7_0_0/TopUsersTest.scala
+++ b/obp-api/src/test/scala/code/api/v7_0_0/TopUsersTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v7_0_0
import code.api.util.APIUtil.OAuth._
diff --git a/obp-api/src/test/scala/code/api/v7_0_0/V7ResourceDocsAggregationTest.scala b/obp-api/src/test/scala/code/api/v7_0_0/V7ResourceDocsAggregationTest.scala
index e5ce7f27b4..7564e7952f 100644
--- a/obp-api/src/test/scala/code/api/v7_0_0/V7ResourceDocsAggregationTest.scala
+++ b/obp-api/src/test/scala/code/api/v7_0_0/V7ResourceDocsAggregationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.api.v7_0_0
import org.json4s._
diff --git a/obp-api/src/test/scala/code/atms/MappedAtmsProviderTest.scala b/obp-api/src/test/scala/code/atms/MappedAtmsProviderTest.scala
index 6843b68587..b717ff4d83 100644
--- a/obp-api/src/test/scala/code/atms/MappedAtmsProviderTest.scala
+++ b/obp-api/src/test/scala/code/atms/MappedAtmsProviderTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.atms
import code.api.util.OBPLimit
diff --git a/obp-api/src/test/scala/code/bankaccountcreation/BankAccountCreationListenerTest.scala b/obp-api/src/test/scala/code/bankaccountcreation/BankAccountCreationListenerTest.scala
index 8e92146e8b..b804db0a11 100644
--- a/obp-api/src/test/scala/code/bankaccountcreation/BankAccountCreationListenerTest.scala
+++ b/obp-api/src/test/scala/code/bankaccountcreation/BankAccountCreationListenerTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankaccountcreation
import code.TestServer
diff --git a/obp-api/src/test/scala/code/bankaccountcreation/BankAccountCreationTest.scala b/obp-api/src/test/scala/code/bankaccountcreation/BankAccountCreationTest.scala
index 49a4fa886e..18cecbdd3d 100644
--- a/obp-api/src/test/scala/code/bankaccountcreation/BankAccountCreationTest.scala
+++ b/obp-api/src/test/scala/code/bankaccountcreation/BankAccountCreationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankaccountcreation
import code.api.util.ErrorMessages._
diff --git a/obp-api/src/test/scala/code/bankconnectors/ConnectorProxyObjectMethodsTest.scala b/obp-api/src/test/scala/code/bankconnectors/ConnectorProxyObjectMethodsTest.scala
index 71c43610bc..e1152b2130 100644
--- a/obp-api/src/test/scala/code/bankconnectors/ConnectorProxyObjectMethodsTest.scala
+++ b/obp-api/src/test/scala/code/bankconnectors/ConnectorProxyObjectMethodsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import code.setup.ServerSetupWithTestData
diff --git a/obp-api/src/test/scala/code/bankconnectors/ObpAccountRoutingResolutionTest.scala b/obp-api/src/test/scala/code/bankconnectors/ObpAccountRoutingResolutionTest.scala
index 60ab856bd8..29f6d9d000 100644
--- a/obp-api/src/test/scala/code/bankconnectors/ObpAccountRoutingResolutionTest.scala
+++ b/obp-api/src/test/scala/code/bankconnectors/ObpAccountRoutingResolutionTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import code.api.Constant
diff --git a/obp-api/src/test/scala/code/bankconnectors/ProxyConnectorTest.scala b/obp-api/src/test/scala/code/bankconnectors/ProxyConnectorTest.scala
index 3bcca36adb..dec7c633f2 100644
--- a/obp-api/src/test/scala/code/bankconnectors/ProxyConnectorTest.scala
+++ b/obp-api/src/test/scala/code/bankconnectors/ProxyConnectorTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors
import code.setup.ServerSetupWithTestData
diff --git a/obp-api/src/test/scala/code/bankconnectors/ethereum/DecodeRawTxTest.scala b/obp-api/src/test/scala/code/bankconnectors/ethereum/DecodeRawTxTest.scala
index d83946ddda..91fbfc41f1 100644
--- a/obp-api/src/test/scala/code/bankconnectors/ethereum/DecodeRawTxTest.scala
+++ b/obp-api/src/test/scala/code/bankconnectors/ethereum/DecodeRawTxTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.ethereum
import org.scalatest.{FeatureSpec, GivenWhenThen, Matchers}
diff --git a/obp-api/src/test/scala/code/bankconnectors/rabbitmq/RabbitMQUtilsResponseCallbackTest.scala b/obp-api/src/test/scala/code/bankconnectors/rabbitmq/RabbitMQUtilsResponseCallbackTest.scala
index 33bc8de072..3ece50176b 100644
--- a/obp-api/src/test/scala/code/bankconnectors/rabbitmq/RabbitMQUtilsResponseCallbackTest.scala
+++ b/obp-api/src/test/scala/code/bankconnectors/rabbitmq/RabbitMQUtilsResponseCallbackTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.bankconnectors.rabbitmq
import com.rabbitmq.client.AMQP.BasicProperties
diff --git a/obp-api/src/test/scala/code/branches/MappedBranchesProviderTest.scala b/obp-api/src/test/scala/code/branches/MappedBranchesProviderTest.scala
index 5a787b4360..1557aa2f0c 100644
--- a/obp-api/src/test/scala/code/branches/MappedBranchesProviderTest.scala
+++ b/obp-api/src/test/scala/code/branches/MappedBranchesProviderTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.branches
import code.api.util.OBPLimit
diff --git a/obp-api/src/test/scala/code/concurrency/ConcurrentBackoffCounterSelfHealTest.scala b/obp-api/src/test/scala/code/concurrency/ConcurrentBackoffCounterSelfHealTest.scala
index a3c3c38cff..27a1293c7d 100644
--- a/obp-api/src/test/scala/code/concurrency/ConcurrentBackoffCounterSelfHealTest.scala
+++ b/obp-api/src/test/scala/code/concurrency/ConcurrentBackoffCounterSelfHealTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.concurrency
import code.api.util.{APIUtil, FutureUtil}
diff --git a/obp-api/src/test/scala/code/concurrency/ConcurrentBusinessStatusRaceTest.scala b/obp-api/src/test/scala/code/concurrency/ConcurrentBusinessStatusRaceTest.scala
index 9090cb1380..f0f844b728 100644
--- a/obp-api/src/test/scala/code/concurrency/ConcurrentBusinessStatusRaceTest.scala
+++ b/obp-api/src/test/scala/code/concurrency/ConcurrentBusinessStatusRaceTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.concurrency
import code.accountaccessrequest.{AccountAccessRequest, MappedAccountAccessRequestProvider}
diff --git a/obp-api/src/test/scala/code/concurrency/ConcurrentConsentStatusRaceTest.scala b/obp-api/src/test/scala/code/concurrency/ConcurrentConsentStatusRaceTest.scala
index 5f290e85ef..4fb02eb371 100644
--- a/obp-api/src/test/scala/code/concurrency/ConcurrentConsentStatusRaceTest.scala
+++ b/obp-api/src/test/scala/code/concurrency/ConcurrentConsentStatusRaceTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.concurrency
import code.consent.{ConsentStatus, MappedConsent, MappedConsentProvider}
diff --git a/obp-api/src/test/scala/code/concurrency/ConcurrentMutableSingletonRaceTest.scala b/obp-api/src/test/scala/code/concurrency/ConcurrentMutableSingletonRaceTest.scala
index fcb3fbef00..f5a0a3b58c 100644
--- a/obp-api/src/test/scala/code/concurrency/ConcurrentMutableSingletonRaceTest.scala
+++ b/obp-api/src/test/scala/code/concurrency/ConcurrentMutableSingletonRaceTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.concurrency
import code.actorsystem.{ObpActorSystem, ObpLookupSystem}
diff --git a/obp-api/src/test/scala/code/concurrency/ConcurrentRateLimiterRaceTest.scala b/obp-api/src/test/scala/code/concurrency/ConcurrentRateLimiterRaceTest.scala
index d84a2ea045..f6e58dcc3e 100644
--- a/obp-api/src/test/scala/code/concurrency/ConcurrentRateLimiterRaceTest.scala
+++ b/obp-api/src/test/scala/code/concurrency/ConcurrentRateLimiterRaceTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.concurrency
import code.api.JedisMethod
diff --git a/obp-api/src/test/scala/code/connector/ConnectorTest.scala b/obp-api/src/test/scala/code/connector/ConnectorTest.scala
index 8765540a72..a7d72c404e 100644
--- a/obp-api/src/test/scala/code/connector/ConnectorTest.scala
+++ b/obp-api/src/test/scala/code/connector/ConnectorTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.connector
import code.api.util.{CallContext, OBPQueryParam}
diff --git a/obp-api/src/test/scala/code/connector/InternalConnectorTest.scala b/obp-api/src/test/scala/code/connector/InternalConnectorTest.scala
index 7a7a11c4af..851e21aa6d 100644
--- a/obp-api/src/test/scala/code/connector/InternalConnectorTest.scala
+++ b/obp-api/src/test/scala/code/connector/InternalConnectorTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.connector
import code.api.util.{CallContext, DynamicUtil}
diff --git a/obp-api/src/test/scala/code/connector/MessageDocTest.scala b/obp-api/src/test/scala/code/connector/MessageDocTest.scala
index e8fa3dac86..1142d7270f 100644
--- a/obp-api/src/test/scala/code/connector/MessageDocTest.scala
+++ b/obp-api/src/test/scala/code/connector/MessageDocTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.connector
import org.json4s._
diff --git a/obp-api/src/test/scala/code/connector/MockedCbsConnector.scala b/obp-api/src/test/scala/code/connector/MockedCbsConnector.scala
index 89c7f393df..3df757c3e7 100644
--- a/obp-api/src/test/scala/code/connector/MockedCbsConnector.scala
+++ b/obp-api/src/test/scala/code/connector/MockedCbsConnector.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.connector
import org.json4s._
diff --git a/obp-api/src/test/scala/code/connector/RestConnector_vMar2019_FrozenTest.scala b/obp-api/src/test/scala/code/connector/RestConnector_vMar2019_FrozenTest.scala
index 37853bf1b5..a34f77359b 100644
--- a/obp-api/src/test/scala/code/connector/RestConnector_vMar2019_FrozenTest.scala
+++ b/obp-api/src/test/scala/code/connector/RestConnector_vMar2019_FrozenTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.connector
import java.io.{FileInputStream, FileOutputStream, ObjectInputStream, ObjectOutputStream}
diff --git a/obp-api/src/test/scala/code/container/EmbeddedRabbitMQ.scala b/obp-api/src/test/scala/code/container/EmbeddedRabbitMQ.scala
index c9312eaf52..e09e896abc 100644
--- a/obp-api/src/test/scala/code/container/EmbeddedRabbitMQ.scala
+++ b/obp-api/src/test/scala/code/container/EmbeddedRabbitMQ.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.container
import code.api.v5_0_0.V500ServerSetup
diff --git a/obp-api/src/test/scala/code/crm/MappedCrmEventProviderTest.scala b/obp-api/src/test/scala/code/crm/MappedCrmEventProviderTest.scala
index b308c3f101..07a34c3ef8 100644
--- a/obp-api/src/test/scala/code/crm/MappedCrmEventProviderTest.scala
+++ b/obp-api/src/test/scala/code/crm/MappedCrmEventProviderTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.crm
import java.util.Date
diff --git a/obp-api/src/test/scala/code/customer/MappedCustomerInfoTest.scala b/obp-api/src/test/scala/code/customer/MappedCustomerInfoTest.scala
index c229825614..0b4eaf760b 100644
--- a/obp-api/src/test/scala/code/customer/MappedCustomerInfoTest.scala
+++ b/obp-api/src/test/scala/code/customer/MappedCustomerInfoTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.customer
import org.json4s._
diff --git a/obp-api/src/test/scala/code/entitlement/MappedEntitlementTest.scala b/obp-api/src/test/scala/code/entitlement/MappedEntitlementTest.scala
index 3b18dbe2c5..bfd763d621 100644
--- a/obp-api/src/test/scala/code/entitlement/MappedEntitlementTest.scala
+++ b/obp-api/src/test/scala/code/entitlement/MappedEntitlementTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.entitlement
import code.api.util.ApiRole._
diff --git a/obp-api/src/test/scala/code/errormessages/DuplicatedMessages.scala b/obp-api/src/test/scala/code/errormessages/DuplicatedMessages.scala
index 9d92e0e697..dd5531e151 100644
--- a/obp-api/src/test/scala/code/errormessages/DuplicatedMessages.scala
+++ b/obp-api/src/test/scala/code/errormessages/DuplicatedMessages.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.errormessages
import code.api.util.ErrorMessages.getDuplicatedMessageNumbers
diff --git a/obp-api/src/test/scala/code/metrics/MetricsTest.scala b/obp-api/src/test/scala/code/metrics/MetricsTest.scala
index 28f468ed59..8abf1b588c 100644
--- a/obp-api/src/test/scala/code/metrics/MetricsTest.scala
+++ b/obp-api/src/test/scala/code/metrics/MetricsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.metrics
import java.util.Date
diff --git a/obp-api/src/test/scala/code/model/AuthUserTest.scala b/obp-api/src/test/scala/code/model/AuthUserTest.scala
index ce66245e44..71e02e3998 100644
--- a/obp-api/src/test/scala/code/model/AuthUserTest.scala
+++ b/obp-api/src/test/scala/code/model/AuthUserTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.model
import code.UserRefreshes.MappedUserRefreshes
diff --git a/obp-api/src/test/scala/code/obp/grpc/ObpGrpcServerSmokeTest.scala b/obp-api/src/test/scala/code/obp/grpc/ObpGrpcServerSmokeTest.scala
index 74da4a7c9d..2eda10b3ea 100644
--- a/obp-api/src/test/scala/code/obp/grpc/ObpGrpcServerSmokeTest.scala
+++ b/obp-api/src/test/scala/code/obp/grpc/ObpGrpcServerSmokeTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.obp.grpc
import code.bankconnectors.Connector
diff --git a/obp-api/src/test/scala/code/obp/grpc/SignalChannelsGrpcTest.scala b/obp-api/src/test/scala/code/obp/grpc/SignalChannelsGrpcTest.scala
index e841d6cdd8..b026a65198 100644
--- a/obp-api/src/test/scala/code/obp/grpc/SignalChannelsGrpcTest.scala
+++ b/obp-api/src/test/scala/code/obp/grpc/SignalChannelsGrpcTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.obp.grpc
import code.api.cache.Redis
diff --git a/obp-api/src/test/scala/code/products/MappedProductsProviderTest.scala b/obp-api/src/test/scala/code/products/MappedProductsProviderTest.scala
index fa9be08089..45fde0ee82 100644
--- a/obp-api/src/test/scala/code/products/MappedProductsProviderTest.scala
+++ b/obp-api/src/test/scala/code/products/MappedProductsProviderTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.products
import com.openbankproject.commons.model.Product
diff --git a/obp-api/src/test/scala/code/scheduler/MetricsArchiveSchedulerTest.scala b/obp-api/src/test/scala/code/scheduler/MetricsArchiveSchedulerTest.scala
index f36d938b02..d88d6c661b 100644
--- a/obp-api/src/test/scala/code/scheduler/MetricsArchiveSchedulerTest.scala
+++ b/obp-api/src/test/scala/code/scheduler/MetricsArchiveSchedulerTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.scheduler
import java.util.Date
diff --git a/obp-api/src/test/scala/code/setup/DefaultConnectorTestSetup.scala b/obp-api/src/test/scala/code/setup/DefaultConnectorTestSetup.scala
index c55d5a03f8..08aff02415 100644
--- a/obp-api/src/test/scala/code/setup/DefaultConnectorTestSetup.scala
+++ b/obp-api/src/test/scala/code/setup/DefaultConnectorTestSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.setup
//Set the default connector setup here by extending it
diff --git a/obp-api/src/test/scala/code/setup/DefaultUsers.scala b/obp-api/src/test/scala/code/setup/DefaultUsers.scala
index 220e0f3567..78bdd82478 100644
--- a/obp-api/src/test/scala/code/setup/DefaultUsers.scala
+++ b/obp-api/src/test/scala/code/setup/DefaultUsers.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.setup
import code.TestServer
diff --git a/obp-api/src/test/scala/code/setup/EnvVarOverride.scala b/obp-api/src/test/scala/code/setup/EnvVarOverride.scala
index 441e9fd6f4..60a9a0eb1b 100644
--- a/obp-api/src/test/scala/code/setup/EnvVarOverride.scala
+++ b/obp-api/src/test/scala/code/setup/EnvVarOverride.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.setup
import java.util.{Map => JMap}
diff --git a/obp-api/src/test/scala/code/setup/LocalMappedConnectorTestSetup.scala b/obp-api/src/test/scala/code/setup/LocalMappedConnectorTestSetup.scala
index 3d0904b8b1..c8b5e13718 100644
--- a/obp-api/src/test/scala/code/setup/LocalMappedConnectorTestSetup.scala
+++ b/obp-api/src/test/scala/code/setup/LocalMappedConnectorTestSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.setup
import bootstrap.liftweb.ToSchemify
diff --git a/obp-api/src/test/scala/code/setup/OBPReq.scala b/obp-api/src/test/scala/code/setup/OBPReq.scala
index 5305df96a4..1870d3ec3f 100644
--- a/obp-api/src/test/scala/code/setup/OBPReq.scala
+++ b/obp-api/src/test/scala/code/setup/OBPReq.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.setup
import java.nio.charset.{Charset, StandardCharsets}
diff --git a/obp-api/src/test/scala/code/setup/PrivateUser2AccountsAndSetUpWithTestData.scala b/obp-api/src/test/scala/code/setup/PrivateUser2AccountsAndSetUpWithTestData.scala
index 940a0364bf..7665034857 100644
--- a/obp-api/src/test/scala/code/setup/PrivateUser2AccountsAndSetUpWithTestData.scala
+++ b/obp-api/src/test/scala/code/setup/PrivateUser2AccountsAndSetUpWithTestData.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.setup
import code.bankconnectors.Connector
diff --git a/obp-api/src/test/scala/code/setup/PropsProgrammatically.scala b/obp-api/src/test/scala/code/setup/PropsProgrammatically.scala
index 6eb21025ab..642731f371 100644
--- a/obp-api/src/test/scala/code/setup/PropsProgrammatically.scala
+++ b/obp-api/src/test/scala/code/setup/PropsProgrammatically.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.setup
import net.liftweb.util.Props
diff --git a/obp-api/src/test/scala/code/setup/PropsReset.scala b/obp-api/src/test/scala/code/setup/PropsReset.scala
index dda2af4d4d..efcae1b96a 100644
--- a/obp-api/src/test/scala/code/setup/PropsReset.scala
+++ b/obp-api/src/test/scala/code/setup/PropsReset.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.setup
import net.liftweb.util.Props
diff --git a/obp-api/src/test/scala/code/setup/RedisTestTarget.scala b/obp-api/src/test/scala/code/setup/RedisTestTarget.scala
index 9d7ba236b1..474ade6a2b 100644
--- a/obp-api/src/test/scala/code/setup/RedisTestTarget.scala
+++ b/obp-api/src/test/scala/code/setup/RedisTestTarget.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.setup
import org.scalatest.Assertions
diff --git a/obp-api/src/test/scala/code/setup/RedisTestTargetTest.scala b/obp-api/src/test/scala/code/setup/RedisTestTargetTest.scala
index 3d7d374c8c..65fc52a302 100644
--- a/obp-api/src/test/scala/code/setup/RedisTestTargetTest.scala
+++ b/obp-api/src/test/scala/code/setup/RedisTestTargetTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.setup
import org.scalatest.{FlatSpec, Matchers}
diff --git a/obp-api/src/test/scala/code/setup/TestConnectorSetup.scala b/obp-api/src/test/scala/code/setup/TestConnectorSetup.scala
index 8495180df7..3fbb07e6b3 100644
--- a/obp-api/src/test/scala/code/setup/TestConnectorSetup.scala
+++ b/obp-api/src/test/scala/code/setup/TestConnectorSetup.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.setup
import java.util.{Calendar, Date}
diff --git a/obp-api/src/test/scala/code/setup/TestConnectorSetupWithStandardPermissions.scala b/obp-api/src/test/scala/code/setup/TestConnectorSetupWithStandardPermissions.scala
index 948ade40d8..0bd2925b45 100644
--- a/obp-api/src/test/scala/code/setup/TestConnectorSetupWithStandardPermissions.scala
+++ b/obp-api/src/test/scala/code/setup/TestConnectorSetupWithStandardPermissions.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.setup
import bootstrap.liftweb.ToSchemify
diff --git a/obp-api/src/test/scala/code/setup/TestPasswordConfig.scala b/obp-api/src/test/scala/code/setup/TestPasswordConfig.scala
index c87c4481c8..f74d541d04 100644
--- a/obp-api/src/test/scala/code/setup/TestPasswordConfig.scala
+++ b/obp-api/src/test/scala/code/setup/TestPasswordConfig.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.setup
import code.api.util.APIUtil
diff --git a/obp-api/src/test/scala/code/signal/SignalContentPolicyTest.scala b/obp-api/src/test/scala/code/signal/SignalContentPolicyTest.scala
index ec743b2552..fe471bd189 100644
--- a/obp-api/src/test/scala/code/signal/SignalContentPolicyTest.scala
+++ b/obp-api/src/test/scala/code/signal/SignalContentPolicyTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.signal
import code.util.DangerousCharacters
diff --git a/obp-api/src/test/scala/code/usercustomerlinks/MappedUserCustomerLinkProviderTest.scala b/obp-api/src/test/scala/code/usercustomerlinks/MappedUserCustomerLinkProviderTest.scala
index b59ed8e9b0..ebfe0174e0 100644
--- a/obp-api/src/test/scala/code/usercustomerlinks/MappedUserCustomerLinkProviderTest.scala
+++ b/obp-api/src/test/scala/code/usercustomerlinks/MappedUserCustomerLinkProviderTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.usercustomerlinks
import java.util.Date
diff --git a/obp-api/src/test/scala/code/users/UserReferenceAttributionPolicyTest.scala b/obp-api/src/test/scala/code/users/UserReferenceAttributionPolicyTest.scala
new file mode 100644
index 0000000000..63684bff54
--- /dev/null
+++ b/obp-api/src/test/scala/code/users/UserReferenceAttributionPolicyTest.scala
@@ -0,0 +1,183 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
+package code.users
+
+import bootstrap.liftweb.ToSchemify
+import code.setup.ServerSetup
+import net.liftweb.mapper.MetaMapper
+import org.scalatest.Tag
+
+/**
+ * Frozen-style guard over the attribution policy table (`UserReference`), in the spirit of
+ * `code.util.FrozenClassTest`: the policy file must name every user-reference column in the schema,
+ * and must not name columns that do not exist.
+ *
+ * Why this exists. Attribution is enforced in the providers, one `UserReference` at a time
+ * (ON_BEHALF_OF_USER_ID_PLAN.md Phase 2). Doing that by hand is only safe if the map of what needs
+ * doing is provably complete — otherwise a table added next week grows a `UserId` column that
+ * silently strands rows on consent users, and nothing anywhere says so. This test is that proof.
+ * It does NOT check that a provider actually applies the policy; that is
+ * `OnBehalfOfOwnershipSweepTest` (Phase 4 item 3).
+ *
+ * When this fails on a new table, the fix is to add a `UserReference` for the column with the right
+ * policy — or, if the column is not a user reference at all, to list it in
+ * `UserReference.notUserIdColumns` with the reason.
+ */
+class UserReferenceAttributionPolicyTest extends ServerSetup {
+
+ object UserReferenceTag extends Tag("UserReferenceAttributionPolicy")
+
+ /** Column names that look like a user reference. Matches the plan's pattern. */
+ private val userReferenceNamePattern = "(?i).*(userid|createdby|grantedby|holder).*".r
+
+ private def mapperClassName(meta: MetaMapper[_]): String =
+ meta.getClass.getName.stripSuffix("$")
+
+ /** (mapperClass, fieldName) for every schema field whose name looks like a user reference. */
+ private lazy val schemaUserReferenceColumns: List[(String, String)] =
+ for {
+ meta <- ToSchemify.models
+ field <- meta.mappedFields.toList
+ if userReferenceNamePattern.pattern.matcher(field.name).matches()
+ } yield (mapperClassName(meta), field.name)
+
+ /** (mapperClass, fieldName) -> the references naming it. */
+ private lazy val declaredColumns: Map[(String, String), List[UserReference]] =
+ UserReference.all
+ .flatMap(ref => ref.fields.map(field => (ref.mapperClass, field) -> ref))
+ .groupBy(_._1)
+ .map { case (key, pairs) => key -> pairs.map(_._2) }
+
+ private lazy val excludedColumns: Set[(String, String)] =
+ UserReference.notUserIdColumns.map { case (cls, field, _) => (cls, field) }.toSet
+
+ private lazy val schemaColumnsByClass: Map[String, Set[String]] =
+ ToSchemify.models.map(meta => mapperClassName(meta) -> meta.mappedFields.map(_.name).toSet).toMap
+
+ feature("UserReference is a complete map of the user-reference columns in the schema") {
+
+ scenario("every user-reference column in the schema has a policy, or a documented reason not to", UserReferenceTag) {
+ val unclaimed = schemaUserReferenceColumns.distinct
+ .filterNot(declaredColumns.contains)
+ .filterNot(excludedColumns.contains)
+ .sorted
+
+ withClue(
+ s"""|${unclaimed.size} column(s) look like a user reference but no UserReference names them.
+ |Add a UserReference with the right attribution policy, or list the column in
+ |UserReference.notUserIdColumns with the reason it is not a user id:
+ |${unclaimed.map { case (c, f) => s" $c.$f" }.mkString("\n")}
+ |""".stripMargin) {
+ unclaimed shouldBe empty
+ }
+ }
+
+ scenario("every UserReference names a Mapper class that is in the schema", UserReferenceTag) {
+ val unknownClasses = UserReference.all.map(_.mapperClass).distinct
+ .filterNot(schemaColumnsByClass.contains)
+ .sorted
+
+ withClue(
+ s"""|UserReference names ${unknownClasses.size} class(es) that are not in ToSchemify.models.
+ |Either the class was renamed or removed (update UserReference), or the table is missing
+ |from ToSchemify.models (which would mean it gets no schema at all):
+ |${unknownClasses.map(c => s" $c").mkString("\n")}
+ |""".stripMargin) {
+ unknownClasses shouldBe empty
+ }
+ }
+
+ scenario("every UserReference names fields that exist on that Mapper", UserReferenceTag) {
+ val unknownFields = for {
+ ref <- UserReference.all
+ fields <- schemaColumnsByClass.get(ref.mapperClass).toList
+ field <- ref.fields
+ if !fields.contains(field)
+ } yield s" ${ref.name}: ${ref.mapperClass}.$field"
+
+ withClue(
+ s"""|${unknownFields.size} UserReference field name(s) do not exist on their Mapper -- a rename
+ |or a typo. The policy silently covers nothing until fixed:
+ |${unknownFields.sorted.mkString("\n")}
+ |""".stripMargin) {
+ unknownFields shouldBe empty
+ }
+ }
+
+ // MappedEntitlement.mUserId is the deliberate case: EntitlementUser (UseOnBehalfOfUserId) and
+ // ConsentEntitlementUser (KeepUserId) name the same column, chosen per createdByProcess.
+ scenario("a column named by more than one UserReference has references that differ by policy", UserReferenceTag) {
+ val ambiguous = declaredColumns.toList
+ .filter { case (_, refs) => refs.size > 1 && refs.map(_.policy).distinct.size == 1 }
+ .map { case ((cls, field), refs) => s" $cls.$field -> ${refs.map(_.name).sorted.mkString(", ")} (all ${refs.head.policy})" }
+ .sorted
+
+ withClue(
+ s"""|${ambiguous.size} column(s) are named by several UserReferences with the SAME policy, so
+ |which one a provider should pass is undecidable. Merge them, or make the distinction real:
+ |${ambiguous.mkString("\n")}
+ |""".stripMargin) {
+ ambiguous shouldBe empty
+ }
+ }
+
+ scenario("no column is both given a policy and listed as not-a-user-id", UserReferenceTag) {
+ val contradictory = declaredColumns.keySet.intersect(excludedColumns).toList
+ .map { case (cls, field) => s" $cls.$field" }.sorted
+
+ withClue(
+ s"""|${contradictory.size} column(s) appear in BOTH UserReference.all and notUserIdColumns.
+ |The exclusion list is for columns the name pattern catches by accident; a column with a
+ |policy must not be in it:
+ |${contradictory.mkString("\n")}
+ |""".stripMargin) {
+ contradictory shouldBe empty
+ }
+ }
+
+ scenario("notUserIdColumns only lists columns that exist and that the pattern actually catches", UserReferenceTag) {
+ val stale = UserReference.notUserIdColumns.flatMap { case (cls, field, _) =>
+ schemaColumnsByClass.get(cls) match {
+ case None => Some(s" $cls.$field -- no such Mapper in ToSchemify.models")
+ case Some(fields) if !fields.contains(field) => Some(s" $cls.$field -- no such field")
+ case _ if !userReferenceNamePattern.pattern.matcher(field).matches() =>
+ Some(s" $cls.$field -- the name pattern does not catch this, so the entry is dead weight")
+ case _ => None
+ }
+ }.sorted
+
+ withClue(
+ s"""|${stale.size} notUserIdColumns entr(ies) are stale. An exclusion that matches nothing hides
+ |nothing, and will not be noticed when the real column comes back:
+ |${stale.mkString("\n")}
+ |""".stripMargin) {
+ stale shouldBe empty
+ }
+ }
+ }
+}
diff --git a/obp-api/src/test/scala/code/util/ApiVersionUtilsTest.scala b/obp-api/src/test/scala/code/util/ApiVersionUtilsTest.scala
index f53ac80171..076de18c47 100644
--- a/obp-api/src/test/scala/code/util/ApiVersionUtilsTest.scala
+++ b/obp-api/src/test/scala/code/util/ApiVersionUtilsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import code.api.util.ApiVersionUtils
diff --git a/obp-api/src/test/scala/code/util/CustomJsonFormatsTest.scala b/obp-api/src/test/scala/code/util/CustomJsonFormatsTest.scala
index 6b9a32370e..04185f0bdc 100644
--- a/obp-api/src/test/scala/code/util/CustomJsonFormatsTest.scala
+++ b/obp-api/src/test/scala/code/util/CustomJsonFormatsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import org.json4s._
diff --git a/obp-api/src/test/scala/code/util/FrozenClassTest.scala b/obp-api/src/test/scala/code/util/FrozenClassTest.scala
index 930f216605..0f08f252c7 100644
--- a/obp-api/src/test/scala/code/util/FrozenClassTest.scala
+++ b/obp-api/src/test/scala/code/util/FrozenClassTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import com.openbankproject.commons.util.ApiVersion
diff --git a/obp-api/src/test/scala/code/util/FrozenClassUtil.scala b/obp-api/src/test/scala/code/util/FrozenClassUtil.scala
index 75ce34ac07..f43b390d7a 100644
--- a/obp-api/src/test/scala/code/util/FrozenClassUtil.scala
+++ b/obp-api/src/test/scala/code/util/FrozenClassUtil.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import java.io._
diff --git a/obp-api/src/test/scala/code/util/FrozenMetaDataText.scala b/obp-api/src/test/scala/code/util/FrozenMetaDataText.scala
index 9d3a8b2fd8..4a76b9a9c3 100644
--- a/obp-api/src/test/scala/code/util/FrozenMetaDataText.scala
+++ b/obp-api/src/test/scala/code/util/FrozenMetaDataText.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import java.io.{FileInputStream, ObjectInputStream}
diff --git a/obp-api/src/test/scala/code/util/FrozenMetaDataTextTest.scala b/obp-api/src/test/scala/code/util/FrozenMetaDataTextTest.scala
index 34e7a0acc0..b834b0a58e 100644
--- a/obp-api/src/test/scala/code/util/FrozenMetaDataTextTest.scala
+++ b/obp-api/src/test/scala/code/util/FrozenMetaDataTextTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import java.io.File
diff --git a/obp-api/src/test/scala/code/util/FrozenSnapshotGenerate.scala b/obp-api/src/test/scala/code/util/FrozenSnapshotGenerate.scala
index 7e321b04f4..58e5285e28 100644
--- a/obp-api/src/test/scala/code/util/FrozenSnapshotGenerate.scala
+++ b/obp-api/src/test/scala/code/util/FrozenSnapshotGenerate.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import code.setup.ServerSetup
diff --git a/obp-api/src/test/scala/code/util/JsonUtilsTest.scala b/obp-api/src/test/scala/code/util/JsonUtilsTest.scala
index 334fdce533..fd76f911d8 100644
--- a/obp-api/src/test/scala/code/util/JsonUtilsTest.scala
+++ b/obp-api/src/test/scala/code/util/JsonUtilsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import org.json4s._
diff --git a/obp-api/src/test/scala/code/util/MappedClassNameTest.scala b/obp-api/src/test/scala/code/util/MappedClassNameTest.scala
index 5cfe537c53..858f87c003 100644
--- a/obp-api/src/test/scala/code/util/MappedClassNameTest.scala
+++ b/obp-api/src/test/scala/code/util/MappedClassNameTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import net.liftweb.mapper.Mapper
diff --git a/obp-api/src/test/scala/code/util/PegdownOptionsTest.scala b/obp-api/src/test/scala/code/util/PegdownOptionsTest.scala
index 041950917b..42f670fa26 100644
--- a/obp-api/src/test/scala/code/util/PegdownOptionsTest.scala
+++ b/obp-api/src/test/scala/code/util/PegdownOptionsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import code.api.util.PegdownOptions
diff --git a/obp-api/src/test/scala/code/util/RunTestsParallelScriptTest.scala b/obp-api/src/test/scala/code/util/RunTestsParallelScriptTest.scala
index cbfb155bba..732a330637 100644
--- a/obp-api/src/test/scala/code/util/RunTestsParallelScriptTest.scala
+++ b/obp-api/src/test/scala/code/util/RunTestsParallelScriptTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.util
import org.scalatest.{FlatSpec, Matchers}
diff --git a/obp-api/src/test/scala/code/views/MappedViewsTest.scala b/obp-api/src/test/scala/code/views/MappedViewsTest.scala
index 7612738952..17b196756c 100644
--- a/obp-api/src/test/scala/code/views/MappedViewsTest.scala
+++ b/obp-api/src/test/scala/code/views/MappedViewsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.views
import code.api.Constant
diff --git a/obp-api/src/test/scala/code/views/PrivateViewsUserCanAccessTest.scala b/obp-api/src/test/scala/code/views/PrivateViewsUserCanAccessTest.scala
index 7235275b94..27596ba59d 100644
--- a/obp-api/src/test/scala/code/views/PrivateViewsUserCanAccessTest.scala
+++ b/obp-api/src/test/scala/code/views/PrivateViewsUserCanAccessTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package code.views
import code.api.Constant
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/ExecutionContext.scala b/obp-commons/src/main/scala/com/openbankproject/commons/ExecutionContext.scala
index ca272c7645..1ce7a42f2b 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/ExecutionContext.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/ExecutionContext.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons
import com.alibaba.ttl.TtlRunnable
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/dto/OpenCorridorInterfaceC.scala b/obp-commons/src/main/scala/com/openbankproject/commons/dto/OpenCorridorInterfaceC.scala
index 46b89b44a7..653c83eae3 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/dto/OpenCorridorInterfaceC.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/dto/OpenCorridorInterfaceC.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.dto
import org.json4s.JValue
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/dto/OutInBoundTransfer.scala b/obp-commons/src/main/scala/com/openbankproject/commons/dto/OutInBoundTransfer.scala
index cd9ffc3ca7..325cb5e00d 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/dto/OutInBoundTransfer.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/dto/OutInBoundTransfer.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.dto
import com.openbankproject.commons.model.TopicTrait
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/model/enums/Enumerations.scala b/obp-commons/src/main/scala/com/openbankproject/commons/model/enums/Enumerations.scala
index e544d5af9a..7ec3ed3d24 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/model/enums/Enumerations.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/model/enums/Enumerations.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.model.enums
import com.openbankproject.commons.util.{EnumValue, JsonAble, OBPEnumeration}
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/ApiVersion.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/ApiVersion.scala
index 75a0a3b3f0..0888db7790 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/util/ApiVersion.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/ApiVersion.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.util
import org.json4s._
@@ -142,16 +169,17 @@ object ApiVersion {
//This is other standard versions
val berlinGroupV13 = ScannedApiVersion("berlin-group", "BG", "v1.3")
- val mxofV100 = ScannedApiVersion("mxof", "MXOF", "v1.0.0")
- val cnbv9 = ScannedApiVersion("CNBV9", "CNBV9", "v1.0.0")
- val bahrainObfV100 = ScannedApiVersion("BAHRAIN-OBF", "BAHRAIN-OBF", "v1.0.0")
- val auOpenBankingV100 = ScannedApiVersion("cds-au", "AU", "v1.0.0")
val ukOpenBankingV20 = ScannedApiVersion("open-banking", "UK", "v2.0")
val ukOpenBankingV31 = ScannedApiVersion("open-banking", "UK", "v3.1")
val ukOpenBankingV401 = ScannedApiVersion("open-banking", "UK", "v4.0.1")
- val stetV14 = ScannedApiVersion("stet", "STET", "v1.4")
- val cdsAuV100 = ScannedApiVersion("cds-au", "AU", "v1.0.0")
- val polishApiV2111 = ScannedApiVersion("polish-api", "PAPI", "v2.1.1.1")
+
+ // STET v1.4, Polish v2.1.1.1, CDS-AU v1.0.0, BAHRAIN-OBF v1.0.0, MxOF v1.0.0 and CNBV9 v1.0.0
+ // were removed with the Lift teardown — code.api.STET, code.api.Polish, code.api.AUOpenBanking,
+ // code.api.BahrainOBF and code.api.MxOF no longer exist, and RetiredApiStandardsTest keeps them
+ // that way. Their constants lived on here, and because a ScannedApiVersion registers itself in
+ // `allScannedApiVersion` when it is constructed, GET /obp/{v}/api/versions kept advertising six
+ // standards this API cannot serve: asking for their resource docs answers OBP-00027. Do not
+ // reinstate a constant without the implementation behind it.
/**
* the ApiPathZero value must be got by obp-api project, so here is a workaround, let obp-api project modify this value
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/Functions.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/Functions.scala
index 2411a52a7d..e0faec1dc3 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/util/Functions.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/Functions.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.util
import java.util.regex.Pattern
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonAliases.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonAliases.scala
index 7421a4ff49..9607fbc637 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonAliases.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonAliases.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.util
import org.json4s._
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonSerializers.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonSerializers.scala
index b5fce2df05..b00f352f82 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonSerializers.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonSerializers.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.util
import com.openbankproject.commons.model.enums.{SimpleEnum, SimpleEnumCollection}
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonUtils.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonUtils.scala
index 35c076b74b..f11ce2586a 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonUtils.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/JsonUtils.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.util
import org.json4s._
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/OBPEnum.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/OBPEnum.scala
index 633e5c45f7..a6bf6f8e05 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/util/OBPEnum.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/OBPEnum.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.util
import scala.reflect.runtime.universe._
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/ReflectUtils.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/ReflectUtils.scala
index 6d9bb428fe..49fd374f69 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/util/ReflectUtils.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/ReflectUtils.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.util
import org.json4s._
diff --git a/obp-commons/src/main/scala/com/openbankproject/commons/util/RequiredFieldValidation.scala b/obp-commons/src/main/scala/com/openbankproject/commons/util/RequiredFieldValidation.scala
index 84762e1845..847b6fbad5 100644
--- a/obp-commons/src/main/scala/com/openbankproject/commons/util/RequiredFieldValidation.scala
+++ b/obp-commons/src/main/scala/com/openbankproject/commons/util/RequiredFieldValidation.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.util
import org.json4s._
diff --git a/obp-commons/src/test/scala/com/openbankproject/commons/util/FunctionsTest.scala b/obp-commons/src/test/scala/com/openbankproject/commons/util/FunctionsTest.scala
index 61b4b83487..1d38c54183 100644
--- a/obp-commons/src/test/scala/com/openbankproject/commons/util/FunctionsTest.scala
+++ b/obp-commons/src/test/scala/com/openbankproject/commons/util/FunctionsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.util
import java.util.Date
diff --git a/obp-commons/src/test/scala/com/openbankproject/commons/util/JsonUtilsTest.scala b/obp-commons/src/test/scala/com/openbankproject/commons/util/JsonUtilsTest.scala
index dea4e6683d..0feb895485 100644
--- a/obp-commons/src/test/scala/com/openbankproject/commons/util/JsonUtilsTest.scala
+++ b/obp-commons/src/test/scala/com/openbankproject/commons/util/JsonUtilsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.util
import net.liftweb.common.Full
diff --git a/obp-commons/src/test/scala/com/openbankproject/commons/util/OBPEnumerationTest.scala b/obp-commons/src/test/scala/com/openbankproject/commons/util/OBPEnumerationTest.scala
index 5d00ad7e1f..e65dbb4e5e 100644
--- a/obp-commons/src/test/scala/com/openbankproject/commons/util/OBPEnumerationTest.scala
+++ b/obp-commons/src/test/scala/com/openbankproject/commons/util/OBPEnumerationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.util
import com.openbankproject.commons.util.Color.Color
diff --git a/obp-commons/src/test/scala/com/openbankproject/commons/util/ReflectUtilsTest.scala b/obp-commons/src/test/scala/com/openbankproject/commons/util/ReflectUtilsTest.scala
index 38b1a12397..c090e851c4 100644
--- a/obp-commons/src/test/scala/com/openbankproject/commons/util/ReflectUtilsTest.scala
+++ b/obp-commons/src/test/scala/com/openbankproject/commons/util/ReflectUtilsTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.util
import org.scalatest.{FlatSpec, Matchers}
diff --git a/obp-commons/src/test/scala/com/openbankproject/commons/util/RequiredFieldValidationTest.scala b/obp-commons/src/test/scala/com/openbankproject/commons/util/RequiredFieldValidationTest.scala
index b8ddfd1638..991118ac61 100644
--- a/obp-commons/src/test/scala/com/openbankproject/commons/util/RequiredFieldValidationTest.scala
+++ b/obp-commons/src/test/scala/com/openbankproject/commons/util/RequiredFieldValidationTest.scala
@@ -1,3 +1,30 @@
+/**
+Open Bank Project - API
+Copyright (C) 2011-2026, TESOBE GmbH.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+
+Email: contact@tesobe.com
+TESOBE GmbH.
+Osloer Strasse 16/17
+Berlin 13359, Germany
+
+This product includes software developed at
+TESOBE (http://www.tesobe.com/)
+
+ */
+
package com.openbankproject.commons.util
import com.openbankproject.commons.util.ApiVersion._
diff --git a/scripts/resource_doc_baseline/parity_allowlist.json b/scripts/resource_doc_baseline/parity_allowlist.json
index b1024aa1b9..1808400a70 100644
--- a/scripts/resource_doc_baseline/parity_allowlist.json
+++ b/scripts/resource_doc_baseline/parity_allowlist.json
@@ -153,7 +153,7 @@
"field": "exampleRequestBody",
"reason": "http4s example JSON schema shows more field-level ACL properties (indexed/write_role_required/write_role/read_role_required/read_role) documenting features added after the Lift example was written",
"lift_digest": "12358da4874cc249de326eda073e5abaf943936049ea3304889c8997cefb004d",
- "http4s_digest": "b02d422e514e88338bcbb469bea59e068515d19f888a8b43bba9daba215a4319"
+ "http4s_digest": "996fe2d661da2fde469b4a8f18c9e411ca8d2da607d3e5cf1eed82da561776a3"
},
{
"version": "v6_0_0",
@@ -161,7 +161,7 @@
"field": "successResponseBody",
"reason": "Same schema-example enrichment as its exampleRequestBody sibling",
"lift_digest": "dba0b1e9992bbd7a883412d8d71f671b457b26e95d8e713d5945b6f74fcb1446",
- "http4s_digest": "61b2aca2a9079a7707d10c856d02f2ffd99cd8557b76eaa7b177d00455f2a45c"
+ "http4s_digest": "42c54b492fa3864754bc61ad7640620bceda46068738309c176140e22d196dd6"
},
{
"version": "v6_0_0",
@@ -169,7 +169,7 @@
"field": "exampleRequestBody",
"reason": "Same schema-example enrichment pattern as createBankLevelDynamicEntity",
"lift_digest": "12358da4874cc249de326eda073e5abaf943936049ea3304889c8997cefb004d",
- "http4s_digest": "b02d422e514e88338bcbb469bea59e068515d19f888a8b43bba9daba215a4319"
+ "http4s_digest": "996fe2d661da2fde469b4a8f18c9e411ca8d2da607d3e5cf1eed82da561776a3"
},
{
"version": "v6_0_0",
@@ -177,7 +177,7 @@
"field": "successResponseBody",
"reason": "Same schema-example enrichment pattern as createBankLevelDynamicEntity",
"lift_digest": "4fce8fffae95f1b3dca1d79feea13c84f40b85907aca358a03b2985435aa665c",
- "http4s_digest": "75788e83e165d9b5abd1f9add45afb5f65cbfb17f9e732eda4d3353df388b845"
+ "http4s_digest": "7c29fb88de459d09ae9592bca9cc1ec4f1c9e930876ffb91ee76271d2e2dc8ea"
},
{
"version": "v6_0_0",
@@ -185,7 +185,7 @@
"field": "exampleRequestBody",
"reason": "Same schema-example enrichment pattern as createBankLevelDynamicEntity",
"lift_digest": "8969bb6fdf996b8d7a6a205194943443da49e6818f337dcb362319e8ad3f7ba4",
- "http4s_digest": "fa95539cf3af3d8a9e502c790505c4437120e4b96461f942c880f0f25960d770"
+ "http4s_digest": "575436f8f568222b34c4814c0313738383819afe1477d4c8b311a143cd7c108f"
},
{
"version": "v6_0_0",
@@ -201,7 +201,7 @@
"field": "exampleRequestBody",
"reason": "Same schema-example enrichment pattern as createBankLevelDynamicEntity",
"lift_digest": "8969bb6fdf996b8d7a6a205194943443da49e6818f337dcb362319e8ad3f7ba4",
- "http4s_digest": "fa95539cf3af3d8a9e502c790505c4437120e4b96461f942c880f0f25960d770"
+ "http4s_digest": "575436f8f568222b34c4814c0313738383819afe1477d4c8b311a143cd7c108f"
},
{
"version": "v6_0_0",
@@ -217,7 +217,7 @@
"field": "exampleRequestBody",
"reason": "Same schema-example enrichment pattern as createBankLevelDynamicEntity",
"lift_digest": "8969bb6fdf996b8d7a6a205194943443da49e6818f337dcb362319e8ad3f7ba4",
- "http4s_digest": "fa95539cf3af3d8a9e502c790505c4437120e4b96461f942c880f0f25960d770"
+ "http4s_digest": "575436f8f568222b34c4814c0313738383819afe1477d4c8b311a143cd7c108f"
},
{
"version": "v6_0_0",
@@ -1113,7 +1113,7 @@
"field": "description",
"reason": "Documents real new validation (maxPayloadLength, dangerous-character rejection) verified in SignalContentPolicy.scala/ErrorMessages.scala.",
"lift_digest": "5ee1e8d3e9a6d9addd3df03feda6a334c1ec4ce29bb23d60b9bbb476e476668c",
- "http4s_digest": "53f2730fe6b58ed7efc2bffaf0f4add0f877277efbb891167f3f7c9c8d1629e3"
+ "http4s_digest": "e336524c8c1b2ac6a58ff9d4c650a8ff0ca369093af83cd048333c7aba4d93f1"
},
{
"version": "v6_0_0",
@@ -1185,7 +1185,7 @@
"field": "description",
"reason": "Digest refresh: description further extended with write_role_required/read_role_required/write_role/read_role field-level access control docs (real feature, per DynamicEntityAuthModeTest.scala/DynamicEntityProvider.scala) on top of the indexed/index docs already reviewed in Card 2.",
"lift_digest": "2e7c649041362776f7eec66ccbb9f025f3edfead992108d0fd5864af76e93961",
- "http4s_digest": "0e74005a596c6d3fe6cf4a0372b7c26a8df71a64ed261dae9952acf38dad9681"
+ "http4s_digest": "a520ce22176587451f8d8d6bf6886bff796789885d37954bcf3229e1d8eb3f07"
},
{
"version": "v6_0_0",
@@ -1193,7 +1193,7 @@
"field": "description",
"reason": "Digest refresh: description further extended with write_role_required/read_role_required/write_role/read_role field-level access control docs (real feature, per DynamicEntityAuthModeTest.scala/DynamicEntityProvider.scala) on top of the indexed/index docs already reviewed in Card 2.",
"lift_digest": "81310cdd2be1c2b33d465cabd1604cedee38bfa1ecccae4b016d0f99aa443ab6",
- "http4s_digest": "a04f57e1840396c8b740ed334710ae8f40a7386daf194bdd2e6e2276de80c6ff"
+ "http4s_digest": "da38d765f6c3d2d20e3ee1926b694379992f3516bbd216eb577ea87a31f05ff1"
},
{
"version": "v6_0_0",
@@ -1201,7 +1201,7 @@
"field": "description",
"reason": "Digest refresh: description further extended with write_role_required/read_role_required/write_role/read_role field-level access control docs (real feature, per DynamicEntityAuthModeTest.scala/DynamicEntityProvider.scala) on top of the indexed/index docs already reviewed in Card 2.",
"lift_digest": "2d18665f9db52506a1b043ad7575b16ac52cedf0d11f036afd4a96b353eb8ddd",
- "http4s_digest": "2d9a3632bcd0ef2d6211e26bdcbed1671a2c1919b5e57a4dfbcbfe276d2c960f"
+ "http4s_digest": "deb202032cdb70e656bba7d2b1ccce8e684040028cfa9a8dca5af32899d15919"
},
{
"version": "v6_0_0",
@@ -1209,7 +1209,7 @@
"field": "description",
"reason": "Digest refresh: description further extended with write_role_required/read_role_required/write_role/read_role field-level access control docs (real feature, per DynamicEntityAuthModeTest.scala/DynamicEntityProvider.scala) on top of the indexed/index docs already reviewed in Card 2.",
"lift_digest": "97f0c97cc592f89f4dba8a6641ad4b41f6ffa6f4f6e78bf3d3cc34a6a11f76e7",
- "http4s_digest": "f3afa0db1a4fa3d9cb51755653a847fd316ebdbd6629599a01758b2adb2a0ed0"
+ "http4s_digest": "c416426234c796ac9b38889b4672ba90e20f956e3fc0bf198353d423cc9ece23"
},
{
"version": "v6_0_0",
@@ -1217,7 +1217,7 @@
"field": "description",
"reason": "Digest refresh: description further extended with write_role_required/read_role_required/write_role/read_role field-level access control docs (real feature, per DynamicEntityAuthModeTest.scala/DynamicEntityProvider.scala) on top of the indexed/index docs already reviewed in Card 2.",
"lift_digest": "e28c2996f3fd54842534fd54d45d7ba49df8b346e65f541353be4fb5311b550c",
- "http4s_digest": "e7578c9f3348cc71091e23a11f3837f421ff8139891b71f53f7a5a0d243a3d4f"
+ "http4s_digest": "5412357d39eff3acd773dcccb1d2675253d1261424c3d9aa37bf28fd99a37a10"
},
{
"version": "v3_0_0",
@@ -1263,7 +1263,7 @@
"version": "v6_0_0",
"endpoint": "createApiProduct",
"field": "description",
- "reason": "Documents the six call-limit semantics, tiering and recognised Api Product Attribute names (SELF_SUBSCRIBE/BILLING_SYSTEM/etc) — real feature per code.apiproductsubscription.*, opening sentence and auth note preserved verbatim.",
+ "reason": "Documents the six call-limit semantics, tiering and recognised Api Product Attribute names (SELF_SUBSCRIBE/BILLING_SYSTEM/etc) \u2014 real feature per code.apiproductsubscription.*, opening sentence and auth note preserved verbatim.",
"lift_digest": "a0a19cc5100424e4e1824f1d1c70dc4329971051689338c8559c988e334ddab7",
"http4s_digest": "585ffe0ecaab1b7ee5d333fffc55aca0016497dba502ad9ebc446dd3a4c92ade"
},
@@ -1314,6 +1314,254 @@
"reason": "Same rate-limiting doc expansion as the other call-limit endpoints.",
"lift_digest": "b4a18cf966d2dbdd3760c86771869b584cd10286dac49620d075a7cbfdca4996",
"http4s_digest": "229b587b60d0eec166b7f962703514c81e5d176ee65dd70de0c131efc221bd8c"
+ },
+ {
+ "version": "v1_4_0",
+ "endpoint": "addCustomer",
+ "field": "errorResponseBodies",
+ "reason": "Phase 3 on-behalf-of guard: an explicit user_id naming a consent user is refused with 400 InvalidUserId, so the error list gains InvalidUserId. See ON_BEHALF_OF_USER_ID_PLAN.md.",
+ "lift_digest": "72059bd5869c989ac1938f0fea5f0786be4b62838f2e655d63143b9db5c93128",
+ "http4s_digest": "9aee037dd06754a8d6c32b3adae1e6ea1e6f931c3dce43c4cfddada2871b8670"
+ },
+ {
+ "version": "v2_0_0",
+ "endpoint": "createCustomer",
+ "field": "errorResponseBodies",
+ "reason": "Phase 3 on-behalf-of guard: an explicit user_id naming a consent user is refused with 400 InvalidUserId, so the error list gains InvalidUserId. See ON_BEHALF_OF_USER_ID_PLAN.md.",
+ "lift_digest": "33c5b895d707447b256bd25741116c561dd656130715153950cb5ca81a80d667",
+ "http4s_digest": "31e6e04059b80406f66eac9f597fc94d78f6ce526309eb5e661824aa471e6e18"
+ },
+ {
+ "version": "v2_0_0",
+ "endpoint": "createUserCustomerLinks",
+ "field": "errorResponseBodies",
+ "reason": "Phase 3 on-behalf-of guard: an explicit user_id naming a consent user is refused with 400 InvalidUserId, so the error list gains InvalidUserId. See ON_BEHALF_OF_USER_ID_PLAN.md.",
+ "lift_digest": "ed173d824d2b639bd21d940e7c846183ce6ee629e842fd5e0580e9a9ca2836ef",
+ "http4s_digest": "c223322e602a5021ec8bf87ca939fc313f6349f7b9e56938da812580bb4175f2"
+ },
+ {
+ "version": "v2_1_0",
+ "endpoint": "createCustomer",
+ "field": "errorResponseBodies",
+ "reason": "Phase 3 on-behalf-of guard: an explicit user_id naming a consent user is refused with 400 InvalidUserId, so the error list gains InvalidUserId. See ON_BEHALF_OF_USER_ID_PLAN.md.",
+ "lift_digest": "07b620b7cc671aa6e30bd44d00a53e33cce60f103d9df4eaa97a627adf2c67a3",
+ "http4s_digest": "79776bfa4a20aacc5bc855837260797e17aa7b468b4f4ced2487ba83b6ac2bb8"
+ },
+ {
+ "version": "v4_0_0",
+ "endpoint": "createUserCustomerLinks",
+ "field": "errorResponseBodies",
+ "reason": "Phase 3 on-behalf-of guard: an explicit user_id naming a consent user is refused with 400 InvalidUserId, so the error list gains InvalidUserId. See ON_BEHALF_OF_USER_ID_PLAN.md.",
+ "lift_digest": "a7430ecc6a099fbc3fcce88309042b333cda459753ad645191e62414be7091de",
+ "http4s_digest": "1636809d333bb3c72cf56c005f212f15dbd5d3491ed89584e70ba9c00e888b0f"
+ },
+ {
+ "version": "v3_0_0",
+ "endpoint": "getApiGlossary",
+ "field": "description",
+ "reason": "Documentation text only, reworded after the baseline was captured. URL, verb, request/response bodies, errors and tags are unchanged.",
+ "lift_digest": "3f3b02ea140eed114936b8ac5a39b0b8448531821fd6cb251f1d5d5c16ceeddf",
+ "http4s_digest": "52dfae7616bcf6b68e0160433f8f89ee2e2bd4f1c0215f0727e8147731ec256f"
+ },
+ {
+ "version": "v4_0_0",
+ "endpoint": "createMyApiCollectionEndpoint",
+ "field": "description",
+ "reason": "Documentation text only, reworded after the baseline was captured. URL, verb, request/response bodies, errors and tags are unchanged.",
+ "lift_digest": "0514ab1ccb35677f3e3848e7d11e73e35be5e98277d48aba4b4f964534a932c0",
+ "http4s_digest": "0313e63b23107b75bbfa44448229f90f54f5f0864603bb72504a0b44a754233b"
+ },
+ {
+ "version": "v4_0_0",
+ "endpoint": "createMyApiCollectionEndpointById",
+ "field": "description",
+ "reason": "Documentation text only, reworded after the baseline was captured. URL, verb, request/response bodies, errors and tags are unchanged.",
+ "lift_digest": "f9dd12dddc733891adb4cdb66e8b35a3793f5d399699f695deb858f51d0d4c76",
+ "http4s_digest": "b326f57bd423fd3c9ba3d10bdb27d38dd34137f9d9aaa2d9acdfd110b97618be"
+ },
+ {
+ "version": "v4_0_0",
+ "endpoint": "deleteMyApiCollection",
+ "field": "description",
+ "reason": "Documentation text only, reworded after the baseline was captured. URL, verb, request/response bodies, errors and tags are unchanged.",
+ "lift_digest": "c24f323c0f8e68bd427ec596f58aab854a1c04517182f180a13e49b797668edc",
+ "http4s_digest": "6f0e987c9ade5eea2eca1e1e19b73ea5a71b33899cfbaaf66d80758fe435398b"
+ },
+ {
+ "version": "v4_0_0",
+ "endpoint": "deleteMyApiCollectionEndpoint",
+ "field": "description",
+ "reason": "Documentation text only, reworded after the baseline was captured. URL, verb, request/response bodies, errors and tags are unchanged.",
+ "lift_digest": "6b4dd0b6b904838f009d947caa6b73f1255195a8f0a400c42caf71af16268909",
+ "http4s_digest": "6497e26954a2df7c1eb3461a2aefb846ba9bc20ff4193bc7a92662ed61ade754"
+ },
+ {
+ "version": "v4_0_0",
+ "endpoint": "deleteMyApiCollectionEndpointById",
+ "field": "description",
+ "reason": "Documentation text only, reworded after the baseline was captured. URL, verb, request/response bodies, errors and tags are unchanged.",
+ "lift_digest": "c422fa6095124dd591b837d813b3474b02dffc461046a79c5d968d84eb45872d",
+ "http4s_digest": "e647d92e3431b8aaa874557a0d9e9e74cb426ccd7277593f1df03cde67cda5be"
+ },
+ {
+ "version": "v4_0_0",
+ "endpoint": "deleteMyApiCollectionEndpointByOperationId",
+ "field": "description",
+ "reason": "Documentation text only, reworded after the baseline was captured. URL, verb, request/response bodies, errors and tags are unchanged.",
+ "lift_digest": "6b4dd0b6b904838f009d947caa6b73f1255195a8f0a400c42caf71af16268909",
+ "http4s_digest": "6497e26954a2df7c1eb3461a2aefb846ba9bc20ff4193bc7a92662ed61ade754"
+ },
+ {
+ "version": "v5_1_0",
+ "endpoint": "createConsumerDynamicRegistration",
+ "field": "description",
+ "reason": "Documentation text only, reworded after the baseline was captured. URL, verb, request/response bodies, errors and tags are unchanged.",
+ "lift_digest": "d9e5dcdf9bfc2bf70065662e57829a8e300cd1cc43ec40d0426a8f8de1792a85",
+ "http4s_digest": "7455859ab4a7fdf997030d33f990b79300b653a15d5b4279a63a10e7d796b20f"
+ },
+ {
+ "version": "v5_1_0",
+ "endpoint": "getApiTags",
+ "field": "description",
+ "reason": "Description rewritten alongside the successResponseBody bug fix (bf89e8ed8): the old text was the duplicated stub 'Get API TagsGet API Tags'.",
+ "lift_digest": "a91f81257404808036dc8e0065c175eedf2ed81bb3a20e70180838468f6045b3",
+ "http4s_digest": "386e930e6b51ff7eb9d186ba371e0efe1f2f44c896f7de758ecc10e6fd385498"
+ },
+ {
+ "version": "v5_1_0",
+ "endpoint": "getApiTags",
+ "field": "successResponseBody",
+ "reason": "Lift's doc declared accountsMinimalJson400 for an endpoint that returns API tags - a copy-paste bug in the documentation, never in the handler. Corrected to APITags (bf89e8ed8), which is what GET /tags has always returned. The wire response is unchanged.",
+ "lift_digest": "63988216b5755d2886ae41ae9f86d10dacba771ce33e92a834d48f31ddba302a",
+ "http4s_digest": "11e2389daf62829f264180738ec578b2f64f853c71bbaf96656333d69434bc7d"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "deleteSignalChannel",
+ "field": "requestUrl",
+ "reason": "Signal channels were experimental when the Lift -> http4s baseline was captured; the surface was settled afterwards and v6.0.0 is DRAFT, so it changed in place. The path moved from /signal/channels/... to /signal-channels/....",
+ "lift_digest": "f2f24a471b57ff0b832d111f9154c0fb45c7a2ad3715299ee97dfe3d8c3dfc9c",
+ "http4s_digest": "4616101d4eb2a37a31e29144d328a7cc7ed223ac3b944ce8e6be01206f00e527"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "deleteSignalChannel",
+ "field": "tags",
+ "reason": "Signal channels were experimental when the Lift -> http4s baseline was captured; the surface was settled afterwards and v6.0.0 is DRAFT, so it changed in place.",
+ "lift_digest": "7d8858342e5f9497e909447578abfd58659f985405da1000fe47afa4edd4dbc6",
+ "http4s_digest": "17875d69ff6997b57b16dddad46600084d17af889b0597859ea11cf516434fbb"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "getAvailablePersonalDynamicEntities",
+ "field": "description",
+ "reason": "v6.0.0 is DRAFT and dynamic entities are under active development; the doc text and example bodies were revised in place after the baseline was captured.",
+ "lift_digest": "585ba9eadfd97593a9c5cec71fffb2bc7ed0bfb77a9d786a7f1e4d1a0b428f5e",
+ "http4s_digest": "e0b2e9c79406677504cd6fdcd82ae2aa3b1062a30b09f9ba9c75002e0bc4c8b0"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "getSignalChannelInfo",
+ "field": "requestUrl",
+ "reason": "Signal channels were experimental when the Lift -> http4s baseline was captured; the surface was settled afterwards and v6.0.0 is DRAFT, so it changed in place. The path moved from /signal/channels/... to /signal-channels/....",
+ "lift_digest": "33be79faa7a3727fe9c121fe0148b0a990e96fa8b40cdab91c1bc8c9e13d09c3",
+ "http4s_digest": "ae8de95e8039b4f587ab20c6fe9eb299b9aae6b08fcac9984dae3c11e61909ab"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "getSignalChannelInfo",
+ "field": "tags",
+ "reason": "Signal channels were experimental when the Lift -> http4s baseline was captured; the surface was settled afterwards and v6.0.0 is DRAFT, so it changed in place.",
+ "lift_digest": "7d8858342e5f9497e909447578abfd58659f985405da1000fe47afa4edd4dbc6",
+ "http4s_digest": "17875d69ff6997b57b16dddad46600084d17af889b0597859ea11cf516434fbb"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "getSignalChannels",
+ "field": "description",
+ "reason": "Signal channels were experimental when the Lift -> http4s baseline was captured; the surface was settled afterwards and v6.0.0 is DRAFT, so it changed in place.",
+ "lift_digest": "bb98cd3900cf5068d68b86a12bb70c06b67402db9206d082d44cbeee64b584f8",
+ "http4s_digest": "98a442997618837300250447595a975d996304f733c3f6f3a5f83950704089d0"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "getSignalChannels",
+ "field": "requestUrl",
+ "reason": "Signal channels were experimental when the Lift -> http4s baseline was captured; the surface was settled afterwards and v6.0.0 is DRAFT, so it changed in place. The path moved from /signal/channels/... to /signal-channels/....",
+ "lift_digest": "8e4426a495908793ccc268cd204dff5f6d1ac4d7e718d4df3d34c8fe3f2fe9b6",
+ "http4s_digest": "cbb7d286f163c09fa535f4eeef8216623680138a708764325936313c0b91261d"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "getSignalChannels",
+ "field": "tags",
+ "reason": "Signal channels were experimental when the Lift -> http4s baseline was captured; the surface was settled afterwards and v6.0.0 is DRAFT, so it changed in place.",
+ "lift_digest": "7d8858342e5f9497e909447578abfd58659f985405da1000fe47afa4edd4dbc6",
+ "http4s_digest": "17875d69ff6997b57b16dddad46600084d17af889b0597859ea11cf516434fbb"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "getSignalMessages",
+ "field": "description",
+ "reason": "Signal channels were experimental when the Lift -> http4s baseline was captured; the surface was settled afterwards and v6.0.0 is DRAFT, so it changed in place.",
+ "lift_digest": "4f41044a9e8d941ed2b1ad557bef310a20b223fa2e475f8d49dfbd8084dd904f",
+ "http4s_digest": "9a6d0418e66756ddc7be4b128e5e9a68f9d22ffd5f8d5911ec5d5dc12ee6dcdd"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "getSignalMessages",
+ "field": "errorResponseBodies",
+ "reason": "Signal channels were experimental when the Lift -> http4s baseline was captured; the surface was settled afterwards and v6.0.0 is DRAFT, so it changed in place.",
+ "lift_digest": "a83dad7a55122752ac89cc9f7e9b5fbcbba8692801ad864d6e1aebcfd2dfa9f4",
+ "http4s_digest": "113568b0efd7ec1bcc8ec936aa85af0c4cfc4c9ac0fa8e90abb5755ead620485"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "getSignalMessages",
+ "field": "requestUrl",
+ "reason": "Signal channels were experimental when the Lift -> http4s baseline was captured; the surface was settled afterwards and v6.0.0 is DRAFT, so it changed in place. The path moved from /signal/channels/... to /signal-channels/....",
+ "lift_digest": "06794a03eb6f6271cb8524704d8ca865cb6e86d7b493878be04f271aff62537d",
+ "http4s_digest": "69473f0f0db9200a0306b184289e761a7228192d974ec1f56980fd99d0bc7afd"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "getSignalMessages",
+ "field": "tags",
+ "reason": "Signal channels were experimental when the Lift -> http4s baseline was captured; the surface was settled afterwards and v6.0.0 is DRAFT, so it changed in place.",
+ "lift_digest": "7d8858342e5f9497e909447578abfd58659f985405da1000fe47afa4edd4dbc6",
+ "http4s_digest": "17875d69ff6997b57b16dddad46600084d17af889b0597859ea11cf516434fbb"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "getSignalStats",
+ "field": "requestUrl",
+ "reason": "Signal channels were experimental when the Lift -> http4s baseline was captured; the surface was settled afterwards and v6.0.0 is DRAFT, so it changed in place. The path moved from /signal/channels/... to /signal-channels/....",
+ "lift_digest": "87ee01e77254f683afaa23b23092b098bb29efae50c25871a24acb3a99705f59",
+ "http4s_digest": "5f772b88b8c8654b8a88449a3b4ef03f774078a55bc55e434cf1702e4666b17c"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "getSignalStats",
+ "field": "tags",
+ "reason": "Signal channels were experimental when the Lift -> http4s baseline was captured; the surface was settled afterwards and v6.0.0 is DRAFT, so it changed in place.",
+ "lift_digest": "7d8858342e5f9497e909447578abfd58659f985405da1000fe47afa4edd4dbc6",
+ "http4s_digest": "17875d69ff6997b57b16dddad46600084d17af889b0597859ea11cf516434fbb"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "publishSignalMessage",
+ "field": "requestUrl",
+ "reason": "Signal channels were experimental when the Lift -> http4s baseline was captured; the surface was settled afterwards and v6.0.0 is DRAFT, so it changed in place. The path moved from /signal/channels/... to /signal-channels/....",
+ "lift_digest": "06794a03eb6f6271cb8524704d8ca865cb6e86d7b493878be04f271aff62537d",
+ "http4s_digest": "69473f0f0db9200a0306b184289e761a7228192d974ec1f56980fd99d0bc7afd"
+ },
+ {
+ "version": "v6_0_0",
+ "endpoint": "publishSignalMessage",
+ "field": "tags",
+ "reason": "Signal channels were experimental when the Lift -> http4s baseline was captured; the surface was settled afterwards and v6.0.0 is DRAFT, so it changed in place.",
+ "lift_digest": "7d8858342e5f9497e909447578abfd58659f985405da1000fe47afa4edd4dbc6",
+ "http4s_digest": "17875d69ff6997b57b16dddad46600084d17af889b0597859ea11cf516434fbb"
}
]
}