GET /me
Introspection endpoint. Returns the current API key info (name, scopes, created_at) and the tenant info it belongs to. Use this to verify a key works and discover what you can do with it. No scope required — any valid key can introspect itself.
Endpoint
GET
/api/workspace/v1/meResponse fields
| Field | Type | Description |
|---|---|---|
| key_id | integer | The API key id |
| key_name | string | The human-readable label the owner set |
| key_prefix | string | Masked view of the key (e.g. sfy_wsp_live_abc1...xyz9) |
| scopes | string[] | The scopes granted to this key |
| created_at | string(ISO) | When the key was created |
| expires_at | string(ISO) | When the key expires — null if never |
| last_used_at | string(ISO) | Last successful call with this key |
| tenant.id | integer | The workspace id |
| tenant.name | string | The workspace display name |
| tenant.module_vakman | boolean | Whether the Field Service module is enabled on this workspace |
Example request
curl "https://app.staffifyai.com/api/workspace/v1/me" \ -H "Authorization: Bearer sfy_wsp_live_YOUR_KEY"
Example response
{
"object": "api_key",
"key_id": 42,
"key_name": "Zapier integration",
"key_prefix": "sfy_wsp_live_abc1...xyz9",
"scopes": [
"crm.contacts.read",
"crm.contacts.write",
"sales.quotes.write"
],
"created_at": "2026-10-01T12:00:00.000Z",
"expires_at": null,
"last_used_at": "2026-10-07T13:45:00.000Z",
"tenant": {
"id": 1,
"name": "Van der Berg Installaties",
"module_vakman": true
},
"meta": { "request_id": "req_abc123" }
}Common use cases
- Connection test. Call GET /me on SDK init or Zapier connection setup to confirm the key works and show the tenant name.
- Scope discovery. Branch your code based on the scopes returned — e.g. skip the "create invoice" action if
sales.invoices.writeis not granted. - Field Service feature flag. Check
tenant.module_vakmanbefore showing work-order UI in your integration.