HydraCore
API by router

Pin confirmation

Get Customer Pin Status

Check if a customer has a PIN set. Admin-only.

"Is it safe?" — Szell, Marathon Man (about PIN status)

GET
/v1/customers/{customer_id}/pin
AuthorizationBearer <token>

In: header

Path Parameters

customer_idCustomer Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X GET "https://loading/v1/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/pin" \  -H "X-Api-Key: string"
{
  "created_at": "2019-08-24T14:15:22Z",
  "has_pin": true,
  "is_active": false,
  "is_locked": false,
  "locked_until": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Set Customer Pin

Set a PIN for a customer. Admin-only.

If a PIN already exists, this replaces it (like a reset). The customer will need to enter this PIN when executing skills that have PIN confirmation enabled.

"I'll make him a PIN he can't refuse." — Don Corleone, The Godfather

POST
/v1/customers/{customer_id}/pin
AuthorizationBearer <token>

In: header

Path Parameters

customer_idCustomer Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key
pinPin

Response Body

curl -X POST "https://loading/v1/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/pin" \  -H "X-Api-Key: string" \  -H "Content-Type: application/json" \  -d '{    "pin": "string"  }'
{
  "created_at": "2019-08-24T14:15:22Z",
  "has_pin": true,
  "is_active": false,
  "is_locked": false,
  "locked_until": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Remove Customer Pin

Remove a customer's PIN. Admin-only.

"Forget about it, Jake. It's Chinatown." — Chinatown (about removing PINs)

DELETE
/v1/customers/{customer_id}/pin
AuthorizationBearer <token>

In: header

Path Parameters

customer_idCustomer Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X DELETE "https://loading/v1/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/pin" \  -H "X-Api-Key: string"
Empty
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get Pin Policy

Get the PIN policy for an instance.

"What's the frequency, Kenneth?" — R.E.M. (about checking PIN policy)

GET
/v1/instances/{instance_id}/pin-policy
AuthorizationBearer <token>

In: header

Path Parameters

instance_idInstance Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X GET "https://loading/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/pin-policy" \  -H "X-Api-Key: string"
{
  "instance_id": "string",
  "pin_applies_to": "all",
  "pin_required_skills": [],
  "pin_session_ttl_minutes": 30
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Update Pin Policy

Update the PIN policy for an instance. Admin-only.

Configure which skills require PIN confirmation, the session TTL, and whether it applies to owner, customer, or all roles.

"I am altering the deal. Pray I don't alter it any further." — Darth Vader, The Empire Strikes Back (about updating PIN policies)

PATCH
/v1/instances/{instance_id}/pin-policy
AuthorizationBearer <token>

In: header

Path Parameters

instance_idInstance Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key
pin_applies_to?Pin Applies To
pin_required_skills?Pin Required Skills
pin_session_ttl_minutes?Pin Session Ttl Minutes

Response Body

curl -X PATCH "https://loading/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/pin-policy" \  -H "X-Api-Key: string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "instance_id": "string",
  "pin_applies_to": "all",
  "pin_required_skills": [],
  "pin_session_ttl_minutes": 30
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get My Pin Status

Check if the current authenticated user has a PIN set.

Used by the frontend Security section — no customer_id needed, just uses the JWT context. "Who am I? I'm the guy with the PIN." — Frank Castle, if he used fintech apps

GET
/v1/me/pin
AuthorizationBearer <token>

In: header

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X GET "https://loading/v1/me/pin" \  -H "X-Api-Key: string"
{
  "created_at": "2019-08-24T14:15:22Z",
  "has_pin": true,
  "is_active": false,
  "is_locked": false,
  "locked_until": "2019-08-24T14:15:22Z"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}