HydraCore
API by router

Debug access

Get Audit Log

Get the audit log for debug access on an instance.

"I'm watching you, Wazowski. Always watching." — Roz, Monsters Inc.

GET
/v1/debug-access/audit/{instance_id}
AuthorizationBearer <token>

In: header

Path Parameters

instance_idInstance Id
Formatuuid

Query Parameters

limit?Limit
Default50

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X GET "https://loading/v1/debug-access/audit/497f6eca-6276-4993-bfeb-53cbbbba6f08?limit=50" \  -H "X-Api-Key: string"
{
  "entries": [
    {
      "action": "string",
      "actor_email": "string",
      "actor_id": "04f37679-bfbf-4906-b749-01756515cecf",
      "created_at": "2019-08-24T14:15:22Z",
      "details": "string",
      "grant_id": "a3c1da8e-13c6-4cab-955b-2120b58c2982",
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "instance_id": "06587974-2dbe-4e10-8bf9-38cce0f5a366",
      "ip_address": "string"
    }
  ],
  "total": 0
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Grant Debug Access

Grant time-windowed debug access to an instance's conversations.

If there's an existing active grant, it gets superseded (revoked). The instance.consent_debug_access flag is synced for backward compat.

Privacy gate: only the customer's own owner/admin can consent to platform-staff conversation access. customer_id-match is NOT enough — that would let any team member in the customer org override the owner's privacy posture.

"I'm giving you the keys to the kingdom." — every trusting boss ever

POST
/v1/debug-access/grant
AuthorizationBearer <token>

In: header

Header Parameters

X-Api-Key?X-Api-Key
duration_hoursDuration Hours
Range1 <= value <= 168
instance_idInstance Id
Formatuuid
reason?Reason

Response Body

curl -X POST "https://loading/v1/debug-access/grant" \  -H "X-Api-Key: string" \  -H "Content-Type: application/json" \  -d '{    "duration_hours": 1,    "instance_id": "06587974-2dbe-4e10-8bf9-38cce0f5a366"  }'
{
  "duration_hours": 0,
  "expires_at": "2019-08-24T14:15:22Z",
  "granted_at": "2019-08-24T14:15:22Z",
  "granted_by": "a8e4a498-f971-4203-a849-4967743579d4",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "instance_id": "06587974-2dbe-4e10-8bf9-38cce0f5a366",
  "is_active": true,
  "reason": "string",
  "revoked_at": "2019-08-24T14:15:22Z",
  "revoked_by": "609d09bf-be33-45e0-963a-ff4cf608e85c",
  "time_remaining_seconds": 0
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get Duration Presets

Return available duration presets for the grant dialog. "Choose wisely." — Grail Knight, Indiana Jones and the Last Crusade

GET
/v1/debug-access/presets

Response Body

curl -X GET "https://loading/v1/debug-access/presets"
[
  {}
]

Revoke Debug Access

Manually revoke an active debug access grant.

Privacy gate: same boundary as grant — only customer owner/admin can flip platform-staff access on or off.

"You're terminated, fucker." — Sarah Connor, The Terminator

POST
/v1/debug-access/revoke/{grant_id}
AuthorizationBearer <token>

In: header

Path Parameters

grant_idGrant Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key
reason?Reason

Response Body

curl -X POST "https://loading/v1/debug-access/revoke/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "X-Api-Key: string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "duration_hours": 0,
  "expires_at": "2019-08-24T14:15:22Z",
  "granted_at": "2019-08-24T14:15:22Z",
  "granted_by": "a8e4a498-f971-4203-a849-4967743579d4",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "instance_id": "06587974-2dbe-4e10-8bf9-38cce0f5a366",
  "is_active": true,
  "reason": "string",
  "revoked_at": "2019-08-24T14:15:22Z",
  "revoked_by": "609d09bf-be33-45e0-963a-ff4cf608e85c",
  "time_remaining_seconds": 0
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get Debug Access Status

Get current debug access status for an instance. Shows active grant (if any) and recent grant history.

GET
/v1/debug-access/status/{instance_id}
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/debug-access/status/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "X-Api-Key: string"
{
  "active_grant": {
    "duration_hours": 0,
    "expires_at": "2019-08-24T14:15:22Z",
    "granted_at": "2019-08-24T14:15:22Z",
    "granted_by": "a8e4a498-f971-4203-a849-4967743579d4",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "instance_id": "06587974-2dbe-4e10-8bf9-38cce0f5a366",
    "is_active": true,
    "reason": "string",
    "revoked_at": "2019-08-24T14:15:22Z",
    "revoked_by": "609d09bf-be33-45e0-963a-ff4cf608e85c",
    "time_remaining_seconds": 0
  },
  "duration_presets": [
    {}
  ],
  "has_active_grant": true,
  "hostname": "string",
  "instance_id": "06587974-2dbe-4e10-8bf9-38cce0f5a366",
  "recent_grants": [
    {
      "duration_hours": 0,
      "expires_at": "2019-08-24T14:15:22Z",
      "granted_at": "2019-08-24T14:15:22Z",
      "granted_by": "a8e4a498-f971-4203-a849-4967743579d4",
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "instance_id": "06587974-2dbe-4e10-8bf9-38cce0f5a366",
      "is_active": true,
      "reason": "string",
      "revoked_at": "2019-08-24T14:15:22Z",
      "revoked_by": "609d09bf-be33-45e0-963a-ff4cf608e85c",
      "time_remaining_seconds": 0
    }
  ]
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}