BYOK
Bring-your-own-key provider credential management
List BYOK provider credentials
Authorization
bearerAuth API key in format: eur_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
In: header
Query Parameters
Number of records to skip for pagination
-9007199254740991 <= value <= 9007199254740991Maximum number of records to return (max 100)
-9007199254740991 <= value <= 9007199254740991Optional provider slug to filter by (e.g. openai, anthropic, aws-bedrock).
Response Body
application/json
curl -X GET "https://api.eurouter.ai/api/v1/byok"{
"data": [
{
"allowed_api_key_hashes": [
"string"
],
"allowed_models": [
"string"
],
"always_use": true,
"created_at": "string",
"disabled": true,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"is_fallback": true,
"label": "string",
"last_used": "string",
"name": "string",
"provider": "string",
"sort_order": -9007199254740991
}
],
"total_count": -9007199254740991
}Create a BYOK provider credential
Authorization
bearerAuth API key in format: eur_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://api.eurouter.ai/api/v1/byok" \ -H "Content-Type: application/json" \ -d '{ "key": "string", "provider": "string" }'{
"data": {
"allowed_api_key_hashes": [
"string"
],
"allowed_models": [
"string"
],
"always_use": true,
"created_at": "string",
"disabled": true,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"is_fallback": true,
"label": "string",
"last_used": "string",
"name": "string",
"provider": "string",
"sort_order": -9007199254740991
}
}Test a BYOK provider credential before saving it
Authorization
bearerAuth API key in format: eur_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://api.eurouter.ai/api/v1/byok/test" \ -H "Content-Type: application/json" \ -d '{ "key": "string", "provider": "string" }'{
"data": {
"checks": [
{
"latency_ms": -9007199254740991,
"message": "string",
"ok": true,
"target": "string"
}
],
"provider": "string",
"success": true
}
}Get current BYOK subscription-period usage
Authorization
bearerAuth API key in format: eur_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
In: header
Response Body
application/json
curl -X GET "https://api.eurouter.ai/api/v1/byok/usage"{
"data": {
"period_start": "2019-08-24T14:15:22Z",
"period_end": "2019-08-24T14:15:22Z",
"successful_requests": 0,
"settled_requests": 0,
"pending_settlement_requests": 0,
"free_request_allowance": 0,
"allowance_used": 0,
"allowance_remaining": 0,
"chargeable_requests": 0,
"estimated_upstream_cost_eur": "string",
"eurouter_platform_fee_eur": "string",
"eurouter_platform_fee_charged_eur": "string",
"eurouter_platform_fee_pending_eur": "string",
"platform_fee_rate": "string"
}
}Get BYOK provider credential
Authorization
bearerAuth API key in format: eur_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
In: header
Path Parameters
The BYOK credential ID (UUID).
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidResponse Body
application/json
curl -X GET "https://api.eurouter.ai/api/v1/byok/497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"data": {
"allowed_api_key_hashes": [
"string"
],
"allowed_models": [
"string"
],
"always_use": true,
"created_at": "string",
"disabled": true,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"is_fallback": true,
"label": "string",
"last_used": "string",
"name": "string",
"provider": "string",
"sort_order": -9007199254740991
}
}Update BYOK provider credential
Authorization
bearerAuth API key in format: eur_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
In: header
Path Parameters
The BYOK credential ID (UUID).
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X PATCH "https://api.eurouter.ai/api/v1/byok/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{}'{
"data": {
"allowed_api_key_hashes": [
"string"
],
"allowed_models": [
"string"
],
"always_use": true,
"created_at": "string",
"disabled": true,
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"is_fallback": true,
"label": "string",
"last_used": "string",
"name": "string",
"provider": "string",
"sort_order": -9007199254740991
}
}Delete BYOK provider credential
Authorization
bearerAuth API key in format: eur_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
In: header
Path Parameters
The BYOK credential ID (UUID).
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidResponse Body
application/json
curl -X DELETE "https://api.eurouter.ai/api/v1/byok/497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"deleted": true
}Test a stored BYOK provider credential
Authorization
bearerAuth API key in format: eur_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
In: header
Path Parameters
The BYOK credential ID (UUID).
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidResponse Body
application/json
curl -X POST "https://api.eurouter.ai/api/v1/byok/497f6eca-6276-4993-bfeb-53cbbbba6f08/test"{
"data": {
"checks": [
{
"latency_ms": -9007199254740991,
"message": "string",
"ok": true,
"target": "string"
}
],
"provider": "string",
"success": true
}
}