# services-config-complete.yaml global: module_name: "api-service" output_dir: "internal/handlers" package_prefix: "api-service" enable_swagger: true enable_logging: true enable_metrics: true services: vclaim: name: "VClaim" category: "vclaim" package: "vclaim" description: "BPJS VClaim service for eligibility and SEP management" base_url: "https://apijkn.bpjs-kesehatan.go.id/vclaim-rest" timeout: 30 retry_count: 3 middleware: - "RequestLogger" - "ResponseLogger" - "RateLimiter" dependencies: - "database" - "redis" endpoints: peserta: methods: ["GET"] get_path: "/Peserta/:nokartu" model: "PesertaRequest" response_model: "PesertaResponse" description: "Get participant eligibility information" summary: "Get Participant Info" tags: ["vclaim", "peserta"] require_auth: true rate_limit: 100 cache_enabled: true cache_ttl: 300 sep: methods: ["GET", "POST", "PUT", "DELETE"] get_path: "/SEP/:nosep" post_path: "/sep" put_path: "/sep/:nosep" delete_path: "/sep/:nosep" model: "SEPRequest" response_model: "SEPResponse" description: "Manage SEP (Surat Eligibilitas Peserta)" summary: "SEP Management" tags: ["vclaim", "sep"] require_auth: true rate_limit: 50 cache_enabled: true cache_ttl: 180 custom_headers: X-Service: "VClaim" X-Version: "2.0" rujukan: methods: ["GET"] get_path: "/rujukan/:norujukan" model: "RujukanRequest" response_model: "RujukanResponse" description: "Get referral information" summary: "Get Referral Info" tags: ["vclaim", "rujukan"] require_auth: true rate_limit: 100 cache_enabled: true cache_ttl: 600