@extends('layouts.app') @section('title','API Clients - NGBVD') @section('content') @include('integrations.partials.settings_style') @php $clients = $clients ?? collect(); $districts = $districts ?? collect(); $partners = $partners ?? collect(); @endphp
Create and manage dedicated credentials, data scopes, rate limits, signing controls and outbound partner URLs for approved systems.
{{ session('new_api_client_key') }}@endif
@if(session('new_api_client_secret')){{ session('new_api_client_secret') }}@endif
Use separate clients for production, test and partner environments.
| Client | Client Key | Scopes | Zero Trust | Outbound URL | Status |
|---|---|---|---|---|---|
|
{{ $client->name }} {{ $client->system_name ?: 'External system' }} {{ $client->integration_code ?: 'PARTNER_SYSTEM' }} |
{{ $client->client_key }}Secret hashed and hidden. |
@forelse($scopes as $scope){{ $scope }}@emptyNo scopes@endforelse
@if(!empty($client->allowed_district_ids))
Districts: {{ !empty($selectedDistrictNames) ? implode(', ', $selectedDistrictNames) : $client->allowed_district_ids }} @endif @if(!empty($client->partner_id)) @php $clientPartner = $partners->firstWhere('id', $client->partner_id); @endphp Partner: {{ $clientPartner->name ?? ('ID '.$client->partner_id) }} @endif |
HTTPS {{ $client->require_https ? 'On' : 'Off' }}
Signed {{ $client->require_signed_requests ? 'On' : 'Off' }}
Encryption {{ $client->require_payload_encryption ? 'On' : 'Off' }}
Rate: {{ $client->rate_limit_per_minute ?: 60 }}/min | Window: {{ $client->signature_window_seconds ?: 300 }}s |
@if($client->outbound_enabled && $outboundUrl)
Enabled {{ $outboundUrl }} @else Not configured @endif |
{{ $client->is_active ? 'Active' : 'Inactive' }} {{ $client->last_used_at ? \Carbon\Carbon::parse($client->last_used_at)->format('d M Y H:i') : 'Never used' }} |
Edit client configuration Scopes, IPs, data scope, rate limits and outbound URL only. |
|||||
No API clients registeredCreate the first authorised client using the panel on the right. | |||||
The generated secret is displayed once only.