HydraCore
API by router

Pin confirmation internal

Set Identity Pin

POST
/internal/v1/instances/{instance_id}/identities/{identity_id}/pin

Path Parameters

instance_id*Instance Id
Formatuuid
identity_id*Identity Id
Formatuuid

Request Body

application/json
  1. body

Set or change a PIN. Digits only, 4-8 characters.

pin*Pin

Response Body

Successful Response

application/json
  1. response

PIN status response.

created_at?|null
has_pin*Has Pin
is_active?Is Active
Defaultfalse
is_locked?Is Locked
Defaultfalse
locked_until?|null
Example Request
curl -X POST 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/identities/497f6eca-6276-4993-bfeb-53cbbbba6f08/pin' \  -H 'Content-Type: application/json' \  -d '{  "pin": "string"}'
Example Response
{  "created_at": "2019-08-24T14:15:22Z",  "has_pin": true,  "is_active": false,  "is_locked": false,  "locked_until": "2019-08-24T14:15:22Z"}

Remove Identity Pin

DELETE
/internal/v1/instances/{instance_id}/identities/{identity_id}/pin

Path Parameters

instance_id*Instance Id
Formatuuid
identity_id*Identity Id
Formatuuid

Response Body

Successful Response

Example Request
curl -X DELETE 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/identities/497f6eca-6276-4993-bfeb-53cbbbba6f08/pin'
Example Response
Empty

Internal Lookup Identity

GET
/internal/v1/instances/{instance_id}/lookup/identity

Path Parameters

instance_id*Instance Id
Formatuuid

Query Parameters

channel*Channel

Channel type

external_id*External Id

External ID to look up

Response Body

Successful Response

application/json
  1. response

Response for internal identity lookup — mirrors customer_identities.IdentityLookupOut.

channel*Channel
customer_email?string|null
customer_id*Customer Id
Formatuuid
display_name?string|null
external_id*External Id
identity_id*Identity Id
Formatuuid
role_override?string|null
verified*Verified
Example Request
curl -X GET 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/lookup/identity?channel=string&external_id=string'
Example Response
{  "channel": "string",  "customer_email": "string",  "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",  "display_name": "string",  "external_id": "string",  "identity_id": "011a42b9-62d7-49eb-8328-c2e454af88a1",  "role_override": "string",  "verified": true}

Check Pin Required

POST
/internal/v1/instances/{instance_id}/pin/check-required

Path Parameters

instance_id*Instance Id
Formatuuid

Query Parameters

customer_id*Customer Id
Formatuuid
identity_id?|null

Response Body

Successful Response

application/json
  1. response
Example Request
curl -X POST 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/pin/check-required?customer_id=497f6eca-6276-4993-bfeb-53cbbbba6f08'
Example Response
{}

Verify Pin

POST
/internal/v1/instances/{instance_id}/pin/verify

Path Parameters

instance_id*Instance Id
Formatuuid

Request Body

application/json
  1. body

Verify a PIN — used by the agent runtime during tool execution.

customer_id?|null
identity_id?|null
pin*Pin

Response Body

Successful Response

application/json
  1. response

PIN verification result — returned to the agent runtime.

error?string|null
remaining_attempts?integer|null
session_token?string|null
session_ttl_minutes?Session Ttl Minutes
Default30
verified*Verified
Example Request
curl -X POST 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/pin/verify' \  -H 'Content-Type: application/json' \  -d '{  "pin": "string"}'
Example Response
{  "error": "string",  "remaining_attempts": 0,  "session_token": "string",  "session_ttl_minutes": 30,  "verified": true}