2025-10-17T23:44:07.697+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.s.security.web.FilterChainProxy        : Securing POST /api/voip/telnyx/texml-response
2025-10-17T23:44:07.697+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.s.s.w.a.AnonymousAuthenticationFilter  : Set SecurityContextHolder to anonymous SecurityContext
2025-10-17T23:44:07.699+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.s.security.web.FilterChainProxy        : Secured POST /api/voip/telnyx/texml-response
2025-10-17T23:44:07.699+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.s.web.servlet.DispatcherServlet        : POST "/api/voip/telnyx/texml-response", parameters={masked}
2025-10-17T23:44:07.700+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.saas.voip.controller.TelnyxTeXMLController#handleTeXMLRequest(HttpServletRequest, String, String, String, String)
2025-10-17T23:44:07.701+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.j.s.OpenEntityManagerInViewInterceptor : Opening JPA EntityManager in OpenEntityManagerInViewInterceptor
2025-10-17T23:44:07.702+01:00  INFO 89488 --- [saas-multitenant-api] [nio-7001-exec-8] c.s.v.controller.TelnyxTeXMLController   : === TELNYX TeXML REQUEST ===
2025-10-17T23:44:07.702+01:00  INFO 89488 --- [saas-multitenant-api] [nio-7001-exec-8] c.s.v.controller.TelnyxTeXMLController   : 📞 From: +212661979197, To: +18066983980, CallSid: v3:KaIdR9a9UYNgUba1SP4kMGT70878G6x1Alg28QswFXtz-eG9tAji8A, Status: null
2025-10-17T23:44:07.702+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.orm.sql.ast.create         : Created new SQL alias : pn1_0
2025-10-17T23:44:07.703+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.orm.sql.ast.create         : Registration of TableGroup [StandardTableGroup(com.saas.admin.entity.PhoneNumber(30))] with identifierForTableGroup [com.saas.admin.entity.PhoneNumber] for NavigablePath [com.saas.admin.entity.PhoneNumber] 
2025-10-17T23:44:07.703+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.h.q.sqm.sql.BaseSqmToSqlAstConverter   : Determining mapping-model type for SqmParameter : org.hibernate.query.sqm.tree.expression.SqmJpaCriteriaParameterWrapper@398b2651
2025-10-17T23:44:07.703+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.h.q.sqm.sql.BaseSqmToSqlAstConverter   : Determining mapping-model type for SqmPath : SqmBasicValuedSimplePath(com.saas.admin.entity.PhoneNumber(30).phoneNumber) 
2025-10-17T23:44:07.703+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.orm.results.graph.AST      : DomainResult Graph:
 \-EntityResultImpl [com.saas.admin.entity.PhoneNumber(30)]
 |  +-BasicFetch [com.saas.admin.entity.PhoneNumber(30).createdAt]
 |  +-BasicFetch [com.saas.admin.entity.PhoneNumber(30).description]
 |  +-BasicFetch [com.saas.admin.entity.PhoneNumber(30).friendlyName]
 |  +-BasicFetch [com.saas.admin.entity.PhoneNumber(30).isActive]
 |  +-BasicFetch [com.saas.admin.entity.PhoneNumber(30).phoneNumber]
 |  +-BasicFetch [com.saas.admin.entity.PhoneNumber(30).provider]
 |  +-BasicFetch [com.saas.admin.entity.PhoneNumber(30).tenantId]
 |  \-BasicFetch [com.saas.admin.entity.PhoneNumber(30).updatedAt]

2025-10-17T23:44:07.703+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.orm.sql.ast.tree           : SQL AST Tree:
    SelectStatement {
      FromClause {
        StandardTableGroup (pn1 : com.saas.admin.entity.PhoneNumber(30)) {
          primaryTableReference : phone_numbers as pn1_0
        }
      }
    }

2025-10-17T23:44:07.704+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.orm.sql.exec               : Skipping reading Query result cache data: cache-enabled = false, cache-mode = NORMAL
2025-10-17T23:44:07.704+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.SQL                        : 
    select
        pn1_0.id,
        pn1_0.created_at,
        pn1_0.description,
        pn1_0.friendly_name,
        pn1_0.is_active,
        pn1_0.phone_number,
        pn1_0.provider,
        pn1_0.tenant_id,
        pn1_0.updated_at 
    from
        phone_numbers pn1_0 
    where
        pn1_0.phone_number=?
Hibernate: 
    select
        pn1_0.id,
        pn1_0.created_at,
        pn1_0.description,
        pn1_0.friendly_name,
        pn1_0.is_active,
        pn1_0.phone_number,
        pn1_0.provider,
        pn1_0.tenant_id,
        pn1_0.updated_at 
    from
        phone_numbers pn1_0 
    where
        pn1_0.phone_number=?
2025-10-17T23:44:07.706+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.orm.results                : Initializer list:
	  com.saas.admin.entity.PhoneNumber(30) -> EntityJoinedFetchInitializer(com.saas.admin.entity.PhoneNumber(30))@1359310867 (SingleTableEntityPersister(com.saas.admin.entity.PhoneNumber))

2025-10-17T23:44:07.707+01:00  INFO 89488 --- [saas-multitenant-api] [nio-7001-exec-8] c.s.v.controller.TelnyxTeXMLController   : ✅ Identified Tenant: 109562c7-e0ad-4b27-b966-30ffa75712be for Telnyx number: +18066983980
2025-10-17T23:44:07.709+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.orm.sql.ast.create         : Created new SQL alias : t1_0
2025-10-17T23:44:07.710+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.orm.sql.ast.create         : Registration of TableGroup [StandardTableGroup(com.saas.admin.entity.Tenant(12))] with identifierForTableGroup [com.saas.admin.entity.Tenant] for NavigablePath [com.saas.admin.entity.Tenant] 
2025-10-17T23:44:07.710+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.h.q.sqm.sql.BaseSqmToSqlAstConverter   : Determining mapping-model type for SqmParameter : org.hibernate.query.sqm.tree.expression.SqmJpaCriteriaParameterWrapper@664be4e
2025-10-17T23:44:07.710+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.h.q.sqm.sql.BaseSqmToSqlAstConverter   : Determining mapping-model type for SqmPath : SqmBasicValuedSimplePath(com.saas.admin.entity.Tenant(12).tenantId) 
2025-10-17T23:44:07.710+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.orm.results.graph.AST      : DomainResult Graph:
 \-EntityResultImpl [com.saas.admin.entity.Tenant(12)]
 |  +-BasicFetch [com.saas.admin.entity.Tenant(12).createdAt]
 |  +-BasicFetch [com.saas.admin.entity.Tenant(12).schemaName]
 |  +-BasicFetch [com.saas.admin.entity.Tenant(12).status]
 |  +-BasicFetch [com.saas.admin.entity.Tenant(12).tenantId]
 |  +-BasicFetch [com.saas.admin.entity.Tenant(12).tenantName]
 |  \-BasicFetch [com.saas.admin.entity.Tenant(12).updatedAt]

2025-10-17T23:44:07.710+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.orm.sql.ast.tree           : SQL AST Tree:
    SelectStatement {
      FromClause {
        StandardTableGroup (t1 : com.saas.admin.entity.Tenant(12)) {
          primaryTableReference : tenants as t1_0
        }
      }
    }

2025-10-17T23:44:07.711+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.orm.sql.exec               : Skipping reading Query result cache data: cache-enabled = false, cache-mode = NORMAL
2025-10-17T23:44:07.711+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.SQL                        : 
    select
        t1_0.id,
        t1_0.created_at,
        t1_0.schema_name,
        t1_0.status,
        t1_0.tenant_id,
        t1_0.tenant_name,
        t1_0.updated_at 
    from
        tenants t1_0 
    where
        t1_0.tenant_id=?
Hibernate: 
    select
        t1_0.id,
        t1_0.created_at,
        t1_0.schema_name,
        t1_0.status,
        t1_0.tenant_id,
        t1_0.tenant_name,
        t1_0.updated_at 
    from
        tenants t1_0 
    where
        t1_0.tenant_id=?
2025-10-17T23:44:07.712+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.orm.results                : Initializer list:
	  com.saas.admin.entity.Tenant(12) -> EntityJoinedFetchInitializer(com.saas.admin.entity.Tenant(12))@1898520334 (SingleTableEntityPersister(com.saas.admin.entity.Tenant))

2025-10-17T23:44:07.713+01:00  INFO 89488 --- [saas-multitenant-api] [nio-7001-exec-8] c.s.v.controller.TelnyxTeXMLController   : 📊 Using schema: tenant_mind_corp
2025-10-17T23:44:07.713+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.s.orm.jpa.JpaTransactionManager        : Found thread-bound EntityManager [SessionImpl(1809741256<open>)] for JPA transaction
2025-10-17T23:44:07.713+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.s.orm.jpa.JpaTransactionManager        : Creating new transaction with name [com.saas.tenant.service.InboundCallService.saveCallData]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT
2025-10-17T23:44:07.713+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.h.e.t.internal.TransactionImpl         : On TransactionImpl creation, JpaCompliance#isJpaTransactionComplianceEnabled == false
2025-10-17T23:44:07.713+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.h.e.t.internal.TransactionImpl         : begin
2025-10-17T23:44:07.714+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.s.orm.jpa.JpaTransactionManager        : Exposing JPA transaction as JDBC [org.springframework.orm.jpa.vendor.HibernateJpaDialect$HibernateConnectionHandle@5236d6d2]
2025-10-17T23:44:07.714+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.s.orm.jpa.JpaTransactionManager        : Found thread-bound EntityManager [SessionImpl(1809741256<open>)] for JPA transaction
2025-10-17T23:44:07.714+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.s.orm.jpa.JpaTransactionManager        : Participating in existing transaction
2025-10-17T23:44:07.714+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.h.j.internal.PersistenceUnitUtilImpl   : jakarta.persistence.PersistenceUnitUtil.getIdentifier is only intended to work with enhanced entities (although Hibernate also adapts this support to its proxies); however the passed entity was not enhanced (nor a proxy).. may not be able to read identifier
2025-10-17T23:44:07.715+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.engine.spi.ActionQueue     : Executing identity-insert immediately
2025-10-17T23:44:07.715+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.SQL                        : 
    insert 
    into
        inbound_call_data
        (account_sid, api_version, call_sid, call_status, call_token, called, called_city, called_country, called_state, called_zip, caller, caller_city, caller_country, caller_state, caller_zip, created_at, direction, duration, end_time, forwarded_from, from_city, from_country, from_number, from_state, from_zip, parent_call_sid, recording_sid, recording_url, start_time, stir_verstat, to_city, to_country, to_number, to_state, to_zip, updated_at) 
    values
        (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate: 
    insert 
    into
        inbound_call_data
        (account_sid, api_version, call_sid, call_status, call_token, called, called_city, called_country, called_state, called_zip, caller, caller_city, caller_country, caller_state, caller_zip, created_at, direction, duration, end_time, forwarded_from, from_city, from_country, from_number, from_state, from_zip, parent_call_sid, recording_sid, recording_url, start_time, stir_verstat, to_city, to_country, to_number, to_state, to_zip, updated_at) 
    values
        (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
2025-10-17T23:44:07.718+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] org.hibernate.orm.results                : Initializer list is empty
2025-10-17T23:44:07.718+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.h.id.IdentifierGeneratorHelper         : Extracted generated values [com.saas.tenant.entity.InboundCallData]: [Ljava.lang.Object;@6c8a542b
2025-10-17T23:44:07.718+01:00  INFO 89488 --- [saas-multitenant-api] [nio-7001-exec-8] c.s.tenant.service.InboundCallService    : 💾 Call data saved - CallSid: v3:KaIdR9a9UYNgUba1SP4kMGT70878G6x1Alg28QswFXtz-eG9tAji8A, From: +212661979197, To: +18066983980
2025-10-17T23:44:07.718+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.s.orm.jpa.JpaTransactionManager        : Initiating transaction commit
2025-10-17T23:44:07.718+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.s.orm.jpa.JpaTransactionManager        : Committing JPA transaction on EntityManager [SessionImpl(1809741256<open>)]
2025-10-17T23:44:07.718+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.h.e.t.internal.TransactionImpl         : committing
2025-10-17T23:44:07.719+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.h.e.i.AbstractFlushingEventListener    : Processing flush-time cascades
2025-10-17T23:44:07.719+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.h.e.i.AbstractFlushingEventListener    : Dirty checking collections
2025-10-17T23:44:07.719+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.h.e.i.AbstractFlushingEventListener    : Flushed: 0 insertions, 0 updates, 0 deletions to 3 objects
2025-10-17T23:44:07.719+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.h.e.i.AbstractFlushingEventListener    : Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
2025-10-17T23:44:07.719+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.hibernate.internal.util.EntityPrinter  : Listing entities:
2025-10-17T23:44:07.719+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.hibernate.internal.util.EntityPrinter  : com.saas.admin.entity.PhoneNumber{createdAt=2025-10-17T23:43:19.005009, phoneNumber=+18066983980, provider=TELNYX, tenantId=109562c7-e0ad-4b27-b966-30ffa75712be, description=mind Corp, id=2, isActive=true, friendlyName=mind Corp, updatedAt=2025-10-17T23:43:19.005035}
2025-10-17T23:44:07.719+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.hibernate.internal.util.EntityPrinter  : com.saas.tenant.entity.InboundCallData{callerCountry=null, called=null, fromZip=null, stirVerstat=null, parentCallSid=null, callerState=null, duration=null, createdAt=2025-10-17T23:44:07.715465, toState=null, apiVersion=null, recordingSid=null, callStatus=initiated, calledZip=null, startTime=2025-10-17T23:44:07.713657, id=1, direction=inbound, updatedAt=2025-10-17T23:44:07.715485, callerCity=null, fromState=null, callSid=v3:KaIdR9a9UYNgUba1SP4kMGT70878G6x1Alg28QswFXtz-eG9tAji8A, fromCountry=null, calledCity=null, toCity=null, calledCountry=null, callerZip=null, toCountry=null, calledState=null, fromNumber=+212661979197, toZip=null, callToken=null, caller=null, recordingUrl=null, endTime=null, forwardedFrom=null, accountSid=null, fromCity=null, toNumber=+18066983980}
2025-10-17T23:44:07.719+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.hibernate.internal.util.EntityPrinter  : com.saas.admin.entity.Tenant{createdAt=2025-10-13T20:11:29.641083, tenantName=mind Corp, tenantId=109562c7-e0ad-4b27-b966-30ffa75712be, id=5, schemaName=tenant_mind_corp, status=ACTIVE, updatedAt=2025-10-13T20:11:29.641107}
2025-10-17T23:44:07.721+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.s.orm.jpa.JpaTransactionManager        : Not closing pre-bound JPA EntityManager after transaction
2025-10-17T23:44:07.722+01:00  INFO 89488 --- [saas-multitenant-api] [nio-7001-exec-8] c.s.v.controller.TelnyxTeXMLController   : ✅ Telnyx call data saved to schema: tenant_mind_corp
2025-10-17T23:44:07.722+01:00  INFO 89488 --- [saas-multitenant-api] [nio-7001-exec-8] c.s.v.controller.TelnyxTeXMLController   : 📢 Using default greeting (test mode)
2025-10-17T23:44:07.722+01:00  INFO 89488 --- [saas-multitenant-api] [nio-7001-exec-8] c.s.v.controller.TelnyxTeXMLController   : 📄 TeXML Response:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Say language="fr-FR">Bonjour, vous êtes connecté au système Telnyx. Cette configuration est en mode test.</Say>
  <Pause length="1"/>
  <Say language="fr-FR">Veuillez configurer TELNYX_AI_ASSISTANT_ID dans vos variables d'environnement.</Say>
  <Hangup/>
</Response>
2025-10-17T23:44:07.722+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/xml', given [*/*] and supported [application/xml]
2025-10-17T23:44:07.722+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] m.m.a.RequestResponseBodyMethodProcessor : Writing ["<?xml version="1.0" encoding="UTF-8"?><EOL><Response><EOL>  <Say language="fr-FR">Bonjour, vous êtes connect (truncated)..."]
2025-10-17T23:44:07.722+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.j.s.OpenEntityManagerInViewInterceptor : Closing JPA EntityManager in OpenEntityManagerInViewInterceptor
2025-10-17T23:44:07.723+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-8] o.s.web.servlet.DispatcherServlet        : Completed 200 OK
2025-10-17T23:44:15.488+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-9] o.s.security.web.FilterChainProxy        : Securing POST /api/voip/telnyx/ai/conversation-event
2025-10-17T23:44:15.489+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-9] o.s.s.w.a.AnonymousAuthenticationFilter  : Set SecurityContextHolder to anonymous SecurityContext
2025-10-17T23:44:15.490+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-9] o.s.security.web.FilterChainProxy        : Secured POST /api/voip/telnyx/ai/conversation-event
2025-10-17T23:44:15.491+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-9] o.s.web.servlet.DispatcherServlet        : POST "/api/voip/telnyx/ai/conversation-event", parameters={masked}
2025-10-17T23:44:15.491+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-9] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.saas.voip.controller.TelnyxEventController#handleConversationEvent(Map, Map)
2025-10-17T23:44:15.491+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-9] o.j.s.OpenEntityManagerInViewInterceptor : Opening JPA EntityManager in OpenEntityManagerInViewInterceptor
2025-10-17T23:44:15.494+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-9] o.s.web.method.HandlerMethod             : Could not resolve parameter [0] in public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> com.saas.voip.controller.TelnyxEventController.handleConversationEvent(java.util.Map<java.lang.String, java.lang.Object>,java.util.Map<java.lang.String, java.lang.String>): Content-Type 'application/x-www-form-urlencoded;charset=UTF-8' is not supported
2025-10-17T23:44:15.494+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-9] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler com.saas.shared.exception.GlobalExceptionHandler#handleGeneric(Exception, HttpServletRequest)
2025-10-17T23:44:15.494+01:00 ERROR 89488 --- [saas-multitenant-api] [nio-7001-exec-9] c.s.s.exception.GlobalExceptionHandler   : Unhandled exception

org.springframework.web.HttpMediaTypeNotSupportedException: Content-Type 'application/x-www-form-urlencoded;charset=UTF-8' is not supported
	at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:236)
	at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:176)
	at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:150)
	at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:122)
	at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:227)
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:181)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:110)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
	at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108)
	at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108)
	at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231)
	at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:490)
	at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:351)
	at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:83)
	at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:129)
	at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228)
	at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:125)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228)
	at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228)
	at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228)
	at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228)
	at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228)
	at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138)
	at com.saas.shared.security.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:56)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228)
	at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228)
	at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138)
	at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
	at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228)
	at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138)
	at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82)
	at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228)
	at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138)
	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:228)
	at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138)
	at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:241)
	at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:334)
	at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:225)
	at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:138)
	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191)
	at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
	at org.springframework.web.filter.ServletRequestPathFilter.doFilter(ServletRequestPathFilter.java:52)
	at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
	at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)
	at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebSecurityConfiguration.java:319)
	at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
	at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$4(HandlerMappingIntrospector.java:267)
	at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113)
	at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74)
	at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:240)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
	at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1776)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:975)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:493)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
	at java.base/java.lang.Thread.run(Thread.java:1474)

2025-10-17T23:44:15.496+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-9] o.s.w.s.m.m.a.HttpEntityMethodProcessor  : Using 'application/json', given [*/*] and supported [application/json, application/*+json, application/yaml, application/xml;charset=UTF-8, text/xml;charset=UTF-8, application/*+xml;charset=UTF-8]
2025-10-17T23:44:15.497+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-9] o.s.w.s.m.m.a.HttpEntityMethodProcessor  : Writing [ApiResponse(success=false, message=An unexpected error occurred, data=ErrorResponse(errorCode=SYS_00 (truncated)...]
2025-10-17T23:44:15.498+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-9] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content-Type 'application/x-www-form-urlencoded;charset=UTF-8' is not supported]
2025-10-17T23:44:15.498+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-9] o.j.s.OpenEntityManagerInViewInterceptor : Closing JPA EntityManager in OpenEntityManagerInViewInterceptor
2025-10-17T23:44:15.498+01:00 DEBUG 89488 --- [saas-multitenant-api] [nio-7001-exec-9] o.s.web.servlet.DispatcherServlet        : Completed 500 INTERNAL_SERVER_ERROR
