Definizione API PDND Connector
Endpoint del pdnd-connector
pdnd-connector
Il pdnd-connector
espone endpoint specifici per ciascun e-service integrato, con diverse operazioni supportate tramite verbi HTTP.
Endpoint di Chiamata
Gli endpoint seguono una struttura che identifica l'erogatore e il servizio specifico. Ad esempio, per gli e-service ANPR (ANPR
è l'erogatore), si utilizzano path come /e-services/anpr/<nome-e-service>
. Esempi di <nome-e-service>
includono accertamento-cittadinanza
, stato-famiglia
, accertamento-residenza
.
Verbi HTTP Utilizzati
GET
: Utilizzato per la fruizione degli e-service, ovvero per richiedere e ottenere i dati dalpdnd-connector
, che a sua volta li recupera dagli enti erogatori (es. ANPR, INPS).POST
: Utilizzato per la validazione dei dati precedentemente ottenuti tramiteGET
. Questa operazione verifica che i dati non siano stati alterati prima di essere inviati dal Core.Parametri Richiesti (Payload per
POST
, URL perGET
):Per
GET
(Fruizione): I parametri sono inclusi nella URL (query parameters). Esempi includono:fiscalCode
: Il codice fiscale dell'utente di cui si richiedono i dati.format
: Un parametro che specifica il formato in cui i dati devono essere restituiti dalpdnd-connector
. Questo formato deve essere compatibile con il Nested Form di OpenCity che riceverà i dati.Esempio URL:
GET /e-services/anpr/stato-famiglia?fiscalCode=ABCDEF01G23H456I&format=statoFamigliaArchetipo
Per
POST
(Validazione): Il payload della richiestaPOST
deve contenere due campi principali:data
: L'oggetto JSON contenente i dati esatti (incluso il loro formato) così come ricevuti dalla rispostaGET
precedente, senza i metadati diisFromPdnd
,isReadonly
,isUpdatedToday
.meta
: Un oggetto contenente la firma digitale (signature
) dei dati, così come restituita dalla rispostaGET
.
Header Necessari: Per tutte le chiamate agli endpoint del
pdnd-connector
, è necessario includere un token JWT nell'headerAuthorization
.Authorization: Bearer <JWT_TOKEN>
. Ilpdnd-connector
effettua una validazione del token. Per le API di configurazione (non direttamente usate da OpenCity per fruizione), è richiesto unadmin token
. Per le API di fruizione e validazione, è richiesto unuser token
, e il codice fiscale contenuto nel token viene verificato con quello eventualmente presente nella URL.
Esempi di chiamate API
Di seguito, alcuni esempi di richieste e risposte per chiarire il flusso di integrazione.
Accertamento Residenza
Richiesta:
GET /anpr/accertamento-residenza
Headers:
Authorization: Bearer <token_jwt>
Query Parameters:
fiscal_code: RSSMRA80A01H501U
config_id: a6fcd036-f1a2-4df5-b986-7410e9e0e97a
format: residenza
Risposta:
{
"data": {
"address": "Via Roma",
"house_number": "123",
"municipality": "Roma",
"county": "RM",
"postal_code": "00100"
},
"meta": {
"signature": "base64_encoded_signature",
"format": "residenza",
"created_at": "2024-03-26T10:00:00Z",
"source": "ANPR",
"call_url": "https://api.example.com/anpr/accertamento-residenza?config_id=a6fcd036-f1a2-4df5-b986-7410e9e0e97a&fiscal_code=RSSMRA80A01H501U&format=residenza"
}
}
È disponibile anche il formato "residenza_archetipo" che include campi aggiuntivi:
{
"data": {
"address": "Via Roma",
"house_number": "123",
"municipality": "Roma",
"county": "RM",
"postal_code": "00100",
"municipality_istat_code": "058091",
"locator_within": "int1"
},
"meta": {
// ... stessi campi meta ...
}
}
Stato Famiglia
Richiesta:
GET /anpr/stato-famiglia
Headers:
Authorization: Bearer <token_jwt>
Query Parameters:
fiscal_code: RSSMRA80A01H501U
config_id: c88d7efe-84a1-43c5-9edc-07f18a577289
format: famiglia
Risposta (esempio con coniuge e figli):
{
"data": {
"birth_date": "1980-01-01",
"birth_place": "Roma",
"family_name": "Rossi",
"given_name": "Maria",
"gender": "femmina",
"tax_id": "RSSMRA80A41H501U",
"children": [
{
"birth_date": "2010-02-25",
"birth_place": "Roma",
"family_name": "Rossi",
"given_name": "Marco",
"gender": "maschio",
"tax_id": "RSSMRC10B25H501U"
},
{
"birth_date": "2012-03-15",
"birth_place": "Roma",
"family_name": "Rossi",
"given_name": "Laura",
"gender": "femmina",
"tax_id": "RSSLRA12C55H501U"
}
]
},
"meta": {
"signature": "base64_encoded_signature",
"format": "famiglia",
"created_at": "2024-03-26T10:00:00Z",
"source": "ANPR",
"call_url": "https://api.example.com/anpr/stato-famiglia?config_id=c88d7efe-84a1-43c5-9edc-07f18a577289&fiscal_code=RSSMRA80A01H501U&format=famiglia"
}
}
Validazione delle risposte
Per validare l'autenticità di una risposta, si utilizza il relativo l'endpoint di validazione:
Richiesta:
POST /validate/anpr/accertamento-residenza
Headers:
Authorization: Bearer <token_jwt>
Query Parameters:
fiscal_code: RSSMRA80A01H501U
config_id: a6fcd036-f1a2-4df5-b986-7410e9e0e97a
format: residenza
Body:
{
"data": {
// ... dati ricevuti ...
},
"meta": {
// ... meta ricevuti con la firma ...
}
}
Risposta:
{
"result": true // o false se la validazione fallisce
}
Definizione OpenAPI
fruizione e-service Accertamento Cittadinanza
italian fiscal code
b212c4b4-db26-4404-8c7c-47dab99dd2e6
id that identify a specific configuration to call an e-service
b212c4b4-db26-4404-8c7c-47dab99dd2e6
identify the output payload structure
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
Not Found
GET /anpr/accertamento-cittadinanza HTTP/1.1
Host:
Accept: */*
{
"data": {
"cittadinanza": [
{
"country": "text",
"nationality": "text"
}
]
},
"meta": {
"call_url": "text",
"created_at": "text",
"format": "text",
"signature": "text",
"source": "text"
}
}
Validate Accertamento Cittadinanza payload
italian fiscal code
b212c4b4-db26-4404-8c7c-47dab99dd2e6
id that identify a specific configuration to call an e-service
b212c4b4-db26-4404-8c7c-47dab99dd2e6
identify the output payload structure
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
Not Found
POST /anpr/accertamento-cittadinanza HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 165
{
"Data": {
"cittadinanza": [
{
"country": "text",
"nationality": "text"
}
]
},
"Meta": {
"call_url": "text",
"created_at": "text",
"format": "text",
"signature": "text",
"source": "text"
}
}
{
"result": true
}
fruizione e-service Accertamento Residenza
italian fiscal code
b212c4b4-db26-4404-8c7c-47dab99dd2e6
id that identify a specific configuration to call an e-service
b212c4b4-db26-4404-8c7c-47dab99dd2e6
identify the output payload structure
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
Not Found
GET /anpr/accertamento-residenza HTTP/1.1
Host:
Accept: */*
{
"data": {
"address": "text",
"address_data": {
"cap": "text",
"codice_comune": 1,
"comune": "text",
"luogo_istat": "text",
"pr": "text"
},
"codice_istat_comune": "text",
"country": "text",
"county": "text",
"house_number": "text",
"locator_within": "text",
"municipality": "text",
"postal_code": "text"
},
"meta": {
"call_url": "text",
"created_at": "text",
"format": "text",
"signature": "text",
"source": "text"
}
}
Validate Accertamento Residenza payload
italian fiscal code
b212c4b4-db26-4404-8c7c-47dab99dd2e6
id that identify a specific configuration to call an e-service
b212c4b4-db26-4404-8c7c-47dab99dd2e6
identify the output payload structure
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
Not Found
POST /anpr/accertamento-residenza HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 373
{
"Data": {
"address": "text",
"address_data": {
"cap": "text",
"codice_comune": 1,
"comune": "text",
"luogo_istat": "text",
"pr": "text"
},
"codice_istat_comune": "text",
"country": "text",
"county": "text",
"house_number": "text",
"locator_within": "text",
"municipality": "text",
"postal_code": "text"
},
"Meta": {
"call_url": "text",
"created_at": "text",
"format": "text",
"signature": "text",
"source": "text"
}
}
{
"result": true
}
Retrieve Stato Famiglia for a specific fiscal code with specific configuration
italian fiscal code
b212c4b4-db26-4404-8c7c-47dab99dd2e6
id that identify a specific configuration to call an e-service
b212c4b4-db26-4404-8c7c-47dab99dd2e6
identify the output payload structure
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
Not Found
GET /anpr/stato-famiglia HTTP/1.1
Host:
Accept: */*
{
"data": null,
"meta": {
"call_url": "text",
"created_at": "text",
"format": "text",
"signature": "text",
"source": "text"
}
}
Validate Stato Famiglia payload
italian fiscal code
b212c4b4-db26-4404-8c7c-47dab99dd2e6
id that identify a specific configuration to call an e-service
b212c4b4-db26-4404-8c7c-47dab99dd2e6
identify the output payload structure
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
data to validate. Can be different depending by the format param
OK
Not Found
POST /anpr/stato-famiglia HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 111
{
"Data": null,
"Meta": {
"call_url": "text",
"created_at": "text",
"format": "text",
"signature": "text",
"source": "text"
}
}
{
"result": true
}
Retrieve the list of e-services available through the service
the starting point or the index from which the data should be retrieved
6
The limit parameter specifies the maximum number of items to be returned in a single page or request
...
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
Bad Request
GET /e-services HTTP/1.1
Host:
Accept: */*
{
"data": [
{
"aud_client_assertion": "text",
"audience": "text",
"endpoint": "text",
"id": "text",
"name": "text",
"slug": "text",
"version": "text"
}
],
"links": {
"next": "text",
"prev": "text",
"self": "text"
},
"meta": {
"page": {
"limit": 1,
"offset": 1,
"sort": "text"
},
"total": 1
}
}
...
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
123456
nome del tenant
comune di Bugliano
Created
Bad Request
POST /tenants HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 93
{
"id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
"ipa_code": "123456",
"name": "comune di Bugliano"
}
{
"created_at": "text",
"id": "text",
"ipa_code": "text",
"name": "text",
"updated_at": "text"
}
...
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
Bad Request
GET /tenants/{tenant_id} HTTP/1.1
Host:
Accept: */*
{
"created_at": "text",
"id": "text",
"ipa_code": "text",
"name": "text",
"updated_at": "text"
}
...
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
123456
nome del tenant
comune di Bugliano
OK
Bad Request
PUT /tenants/{tenant_id} HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 49
{
"ipa_code": "123456",
"name": "comune di Bugliano"
}
{
"created_at": "text",
"id": "text",
"ipa_code": "text",
"name": "text",
"updated_at": "text"
}
...
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
No Content
Bad Request
DELETE /tenants/{tenant_id} HTTP/1.1
Host:
Accept: */*
{
"created_at": "text",
"id": "text",
"ipa_code": "text",
"name": "text",
"updated_at": "text"
}
...
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
123456
nome del tenant
comune di Bugliano
OK
Bad Request
PATCH /tenants/{tenant_id} HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 49
{
"ipa_code": "123456",
"name": "comune di Bugliano"
}
{
"created_at": "text",
"id": "text",
"ipa_code": "text",
"name": "text",
"updated_at": "text"
}
Get available operations for the tenant resource.
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
OPTIONS /tenants/{tenant_id} HTTP/1.1
Host:
Accept: */*
OK
No content
Get Clients Configuration list for specific tenant
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
The limit parameter specifies the maximum number of items to be returned in a single page or request
...
the starting point or the index from which the data should be retrieved
6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
Bad Request
GET /tenants/{tenant_id}/clients HTTP/1.1
Host:
Accept: */*
{
"data": [
{
"created_at": "text",
"env": "text",
"id": "text",
"key_id": "text",
"key_pair_id": "text",
"name": "text",
"public_key": "text",
"tenant_id": "text",
"updated_at": "text"
}
],
"links": {
"next": "text",
"prev": "text",
"self": "text"
},
"meta": {
"page": {
"limit": 1,
"offset": 1,
"sort": "text"
},
"total": 1
}
}
Save client pdnd Configuration of specific tenant
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
ambiente del client
collaudo
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
key id del client
b212c4b4-db26-4404-8c7c-47dab99dd2e6
id interno del materiale critografico
nome del tenant
comune di Bugliano
Created
Bad Request
Forbidden
POST /tenants/{tenant_id}/clients HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 159
{
"env": "collaudo",
"id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
"key_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
"key_pair_id": "text",
"name": "comune di Bugliano"
}
{
"created_at": "text",
"env": "text",
"id": "text",
"key_id": "text",
"key_pair_id": "text",
"name": "text",
"public_key": "text",
"tenant_id": "text",
"updated_at": "text"
}
Get available operations for the Clients resource.
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
The limit parameter specifies the maximum number of items to be returned in a single page or request
...
the starting point or the index from which the data should be retrieved
6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
OPTIONS /tenants/{tenant_id}/clients HTTP/1.1
Host:
Accept: */*
OK
No content
Get client pdnd Configuration of specific tenant
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
Bad Request
Forbidden
GET /tenants/{tenant_id}/clients/{client_id} HTTP/1.1
Host:
Accept: */*
{
"created_at": "text",
"env": "text",
"id": "text",
"key_id": "text",
"key_pair_id": "text",
"name": "text",
"public_key": "text",
"tenant_id": "text",
"updated_at": "text"
}
Update client pdnd Configuration of specific tenant
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
ambiente del client
collaudo
key id del client
b212c4b4-db26-4404-8c7c-47dab99dd2e6
id interno del materiale critografico
nome del tenant
comune di Bugliano
OK
Bad Request
Forbidden
PUT /tenants/{tenant_id}/clients/{client_id} HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 115
{
"env": "collaudo",
"key_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
"key_pair_id": "text",
"name": "comune di Bugliano"
}
{
"created_at": "text",
"env": "text",
"id": "text",
"key_id": "text",
"key_pair_id": "text",
"name": "text",
"public_key": "text",
"tenant_id": "text",
"updated_at": "text"
}
Delete client pdnd Configuration of specific tenant
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
No Content
Bad Request
Forbidden
DELETE /tenants/{tenant_id}/clients/{client_id} HTTP/1.1
Host:
Accept: */*
No content
Update client pdnd Configuration of specific tenant
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
ambiente del client
collaudo
key id del client
b212c4b4-db26-4404-8c7c-47dab99dd2e6
id interno del materiale critografico
nome del tenant
comune di Bugliano
OK
Bad Request
Forbidden
PATCH /tenants/{tenant_id}/clients/{client_id} HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 115
{
"env": "collaudo",
"key_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
"key_pair_id": "text",
"name": "comune di Bugliano"
}
{
"created_at": "text",
"env": "text",
"id": "text",
"key_id": "text",
"key_pair_id": "text",
"name": "text",
"public_key": "text",
"tenant_id": "text",
"updated_at": "text"
}
Get available operations for the Clients resource.
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
OPTIONS /tenants/{tenant_id}/clients/{client_id} HTTP/1.1
Host:
Accept: */*
OK
No content
...
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
The limit parameter specifies the maximum number of items to be returned in a single page or request
...
the starting point or the index from which the data should be retrieved
6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
Bad Request
GET /tenants/{tenant_id}/configs HTTP/1.1
Host:
Accept: */*
{
"data": [
{
"call_url": "text",
"client_id": "text",
"created_at": "text",
"eservice_id": "text",
"id": "text",
"is_active": true,
"purpose_id": "text",
"tenant_id": "text",
"updated_at": "text"
}
],
"links": {
"next": "text",
"prev": "text",
"self": "text"
},
"meta": {
"page": {
"limit": 1,
"offset": 1,
"sort": "text"
},
"total": 1
}
}
...
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
false
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
Created
Bad Request
POST /tenants/{tenant_id}/configs HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 175
{
"client_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
"eservice_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
"is_active": false,
"purpose_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6"
}
{
"call_url": "text",
"client_id": "text",
"created_at": "text",
"eservice_id": "text",
"id": "text",
"is_active": true,
"purpose_id": "text",
"tenant_id": "text",
"updated_at": "text"
}
Get available operations for the Config resource.
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
Created
OPTIONS /tenants/{tenant_id}/configs HTTP/1.1
Host:
Accept: */*
Created
No content
Get config of specific tenant by id
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
Bad Request
GET /tenants/{tenant_id}/configs/{config_id} HTTP/1.1
Host:
Accept: */*
{
"call_url": "text",
"client_id": "text",
"created_at": "text",
"eservice_id": "text",
"id": "text",
"is_active": true,
"purpose_id": "text",
"tenant_id": "text",
"updated_at": "text"
}
Update config of specific tenant
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
false
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
Bad Request
PUT /tenants/{tenant_id}/configs/{config_id} HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 175
{
"client_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
"eservice_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
"is_active": false,
"purpose_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6"
}
{
"call_url": "text",
"client_id": "text",
"created_at": "text",
"eservice_id": "text",
"id": "text",
"is_active": true,
"purpose_id": "text",
"tenant_id": "text",
"updated_at": "text"
}
Soft deleting config of specific tenant
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
No Content
Bad Request
DELETE /tenants/{tenant_id}/configs/{config_id} HTTP/1.1
Host:
Accept: */*
No content
Patch config of specific tenant
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
false
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
Bad Request
PATCH /tenants/{tenant_id}/configs/{config_id} HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 175
{
"client_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
"eservice_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6",
"is_active": false,
"purpose_id": "b212c4b4-db26-4404-8c7c-47dab99dd2e6"
}
{
"call_url": "text",
"client_id": "text",
"created_at": "text",
"eservice_id": "text",
"id": "text",
"is_active": true,
"purpose_id": "text",
"tenant_id": "text",
"updated_at": "text"
}
Get available operations for the Config resource.
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
OPTIONS /tenants/{tenant_id}/configs/{config_id} HTTP/1.1
Host:
Accept: */*
OK
No content
Get key unused key for a specific tenant
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
OK
Bad Request
GET /tenants/{tenant_id}/keys HTTP/1.1
Host:
Accept: */*
{
"id": "text",
"public_key": "text"
}
Delete key used by specific tenant
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
...
b212c4b4-db26-4404-8c7c-47dab99dd2e6
No Content
Bad Request
DELETE /tenants/{tenant_id}/keys/{keys_id} HTTP/1.1
Host:
Accept: */*
No content
Last updated
Was this helpful?