@extends('layouts.app') @section('title','API Clients - NGBVD') @section('content') @include('integrations.partials.settings_style') @php $clients = $clients ?? collect(); @endphp
Credential Management

API Clients

Create and manage dedicated credentials for UBOS GBV Portal, Sauti and approved partner systems. Each client should only receive the scopes required for its approved purpose.

@if(session('new_api_client_secret') || session('message'))
{{ session('message') ?: 'API client created. Copy the secret now; it will not be shown again.' }} @if(session('new_api_client_key'))
Client Key: {{ session('new_api_client_key') }}@endif @if(session('new_api_client_secret'))
Client Secret: {{ session('new_api_client_secret') }}@endif
@endif

Registered API Clients

Maintain separate clients for production, test and partner environments.

@forelse($clients as $client) @php $scopes = is_array($client->allowed_scopes) ? $client->allowed_scopes : preg_split('/[,\s]+/', (string)$client->allowed_scopes, -1, PREG_SPLIT_NO_EMPTY); @endphp @empty @endforelse
ClientClient KeyScopesStatusLast Used
{{ $client->name }}
{{ $client->system_name ?: 'External system' }}
{{ $client->client_key }} @forelse($scopes as $scope){{ $scope }}@emptyNo scopes@endforelse {{ $client->is_active ? 'Active' : 'Inactive' }} {{ $client->last_used_at ? \Carbon\Carbon::parse($client->last_used_at)->format('d M Y H:i') : 'Never' }}
No API clients registeredCreate the first authorised client using the panel on the right.

Create API Client

The generated secret is displayed once only.

@csrf
Use comma-separated scopes.
Only create credentials for approved systems. Use the smallest set of scopes required by the external system.
@endsection