Slackbot
10/27/2025, 7:55 PMMithies Ponnusamy
10/28/2025, 5:18 AMMithies Ponnusamy
10/28/2025, 5:26 AMMíla Votradovec
10/29/2025, 9:11 AMPratham Khodwe
10/29/2025, 12:18 PMPratham Khodwe
10/29/2025, 12:32 PMRodrigo Mayer
10/31/2025, 1:25 PM428 Precondition Required error when calling permit.api.users.getAssignedRoles(). I could not find any mention of this error in Permit's docs, can I get some clarification about what this error means?
Thanks!Alec Handal
11/02/2025, 4:17 AMAlec Handal
11/02/2025, 10:36 PMAlec Handal
11/03/2025, 5:26 PMminduo@0.1.0 permit:bootstrap /Users/alechandal/Repos/minduo
tsx scripts/permit/bootstrap-resources.ts -- --env dev{"level":50,"time":"2025-11-03T172247.414Z","label":"permit-bootstrap","msg":"Got error status code: 500, err:{\"id\":\"30f50c095157412cb3370c9bb5656428\",\"title\":\"The request could not be completed\",\"error_code\":\"UNEXPECTED_ERROR\",\"message\":\"You did nothing wrong, but we could not finish your request due to a technical issue on our end. Please try again.\\nIf the issue keeps happening, contact our support.\"}"} Failed to bootstrap Permit resources PermitApiError: You did nothing wrong, but we could not finish your request due to a technical issue on our end. Please try again. If the issue keeps happening, contact our support for further guidance. at ResourcesApi2.handleApiError (...) at ResourcesApi2.replace (...) at async main (.../scripts/permit/bootstrap-resources.ts2525) { originalError: AxiosError: Request failed with status code 500 at settle (...) at IncomingMessage.handleStreamEnd (...) at process.processTicksAndRejections (...) at Axios.request (...) at async ResourcesApi2.replace (...) at async main (.../scripts/permit/bootstrap-resources.ts2525) { code: 'ERR_BAD_RESPONSE', config: { baseURL: 'http://localhost:7766/', method: 'put', data: '{"name":"Organization","actions":{"create":{},"invite":{},"deprovision":{}},"attributes":{"orgId":{"type":"string","description":"Primary key from Minduo database"}}}', url: 'https://api.permit.io/v2/schema/<project-id>/<env-id>/resources/organization', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'X-Permit-SDK-Version': 'node:0.1.0', Authorization: 'Bearer <REDACTED>', 'User-Agent': 'axios/1.13.1', 'Content-Length': 166, 'Accept-Encoding': 'gzip, compress, deflate, br', Host: 'api.permit.io', Connection: 'keep-alive' }, // remaining axios metadata omitted for brevity }, response: { status: 500, statusText: 'Internal Server Error', headers: { /* redacted */ }, data: { /* redacted */ } }, status: 500 } }
Elias Cooper
11/04/2025, 8:41 PMAlec Handal
11/05/2025, 6:07 AMSeiichi Arai
11/05/2025, 9:04 AM<http://localhost:8787> aren’t allowed as URL inputs, which makes local testing difficult.
2. One (URL, method) → only one (resource, action)
Each (url - method) can be mapped to only a single (resource-action).
Some endpoints return information across multiple resources, so we need to map to multiple resource/action pairs.
3. Multi-tenancy support
The provided example flow doesn’t seem to support a multi-tenant setup (no clear way to include tenantId).
fetch('<https://proxy.api.permit.io/proxy/xxxxxxxxxxxxxxxxxxxxxxxx?url=><PROXIED_URL>', {
method: '<HTTP_METHOD>',
headers: {
'Authorization': 'Bearer <USER_JWT>'
}
});
If I’m missing a configuration or workaround for any of the above, I’d appreciate pointers. Thanks!Mithies Ponnusamy
11/05/2025, 2:38 PMSebastian
11/10/2025, 3:44 AMSeiichi Arai
11/10/2025, 9:58 AM{
"__data_use_debugger": true,
"__input_use_debugger": true,
"allow": false,
"allowing_sources": [],
"debug": {
"abac": {
"allow": false,
"code": "no_matching_rules",
"matching_resourcesets": [
"Draft_Blog",
"User",
"__autogen_Blog"
],
"matching_usersets": [
"Draft_Blog",
"User",
"__autogen_Blog"
],
"reason": "user 'seiichi1101_user' does not match any rule that grants him the 'read' permission on the given resource of type 'Blog'",
"support_link": "<https://docs.permit.io/errors/no_matching_rules>"
},
"rbac": {
"allow": false,
"code": "user_not_synced",
"reason": "user 'seiichi1101_user' is not synced and therefore has no known role assignments",
"support_link": "<https://docs.permit.io/errors/user_not_synced>"
},
"request": {
"action": "read",
"resource": {
"attributes": {
"is_paid": false,
"is_published": false,
"owner": "seiichi1101_user",
"type": "Blog"
},
"type": "Blog"
},
"tenant": "default",
"user": {
"attributes": {
"is_staff": false,
"roles": [],
"subscription_plan": "free",
"tenants": []
},
"key": "seiichi1101_user",
"synced": false
}
}
},
"debugger_activated": true
}
As you can see in the log and screenshot, access is denied even though I’ve set up the User Sets, Resource Sets, and policy assignments in the Policy Editor.
It says "user 'seiichi1101_user' does not match any rule that grants him the 'read' permission on the given resource of type 'Blog'",.
My expectation is that the user with key: "seiichi1101_user" should be allowed to access the resource set MyBlog, because its resource condition is configured as "resource.owner" - "equals" - "user.key" and the policy is assigned accordingly.
Is there anything I’m missing here?Engineering Swantide
11/10/2025, 6:10 PMexport interface RoleAssignmentRemove {
/**
* the role that will be unassigned (accepts either the role id or the role key)
* @type {string}
* @memberof RoleAssignmentRemove
*/
role: string;
/**
* the tenant the role is associated with (accepts either the tenant id or the tenant key)
* @type {string}
* @memberof RoleAssignmentRemove
*/
tenant?: string;
/**
* the resource instance the role is associated with (accepts either the resource instance id or key using this format resource_type:resource_instance)
* @type {string}
* @memberof RoleAssignmentRemove
*/
resource_instance?: string;
/**
* the user the role will be unassigned from (accepts either the user id or the user key)
* @type {string}
* @memberof RoleAssignmentRemove
*/
user: string;
}
but when I make the actual api call, its stating that tenant is NOT optionalEngineering Swantide
11/10/2025, 6:17 PMdefault tenant? i'm noticing that in some of my other apis, when I withold tenant,it doesn't append anything to the 'default' tenant only my other one created. Do I always have to enforce default tenant at all times if I only want one?Neelesh Shastry
11/11/2025, 7:35 PMChristie Molloy
11/12/2025, 12:34 PMSlackbot
11/12/2025, 5:15 PMShyamalan Chemmery
11/13/2025, 12:40 AMYilmaz Alizadeh
11/13/2025, 8:58 AMTaha ÇEKEN
11/17/2025, 7:24 AMurl_type is not being saved correctly.
For example, this mapping is saved properly and appears with the regex badge on the frontend:
{
"url": "https?://api.abclojistik.com/test/api/erp/(?:tr|en)/reports/?.*$",
"url_type": "regex",
"http_method": "get",
"resource": "erp_report",
"headers": {},
"action": "read",
"priority": null
}
However, this one gets saved with "url_type": null even though it is also a regex, and the frontend still shows it with the regex badge:
{
"url": "https?://api.abclojistik.com/test/api/hub/(?:tr|en)/orders/?.*$",
"url_type": null,
"http_method": "patch",
"resource": "hub_order",
"headers": {},
"action": "update",
"priority": null
}
When I fetch this configuration from the Permit.io API, it does not indicate that it’s a regex.
I’m not sure if this inconsistency is the root cause, but I’m also getting a PDP crash when calling the allowed_url endpoint.
I’ve attached the PDP crash logs to this message. it gives error about Horizon server. But this error occured after i added new url_mappings.
I need to resolve this issue as soon as possible. Any help would be greatly appreciated.Shyamalan Chemmery
11/17/2025, 9:21 AMYilmaz Alizadeh
11/17/2025, 4:12 PMChuck Chau
11/18/2025, 7:06 AMhorizon.opal_relay_api |WARNING | Could not report uptime status to server: got status code 503 from relay-api. This does not affect the PDP's
operational state or data updates.\n", "record": {"elapsed": {"repr": "0:03:43.577686", "seconds": 223.577686}, "exception": null, "extra": {}, "file": {"name":
"opal_relay_api.py", "path": "/app/horizon/opal_relay_api.py"}, "function": "_run", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 183, "message":
"Could not report uptime status to server: got status code 503 from relay-api. This does not affect the PDP's operational state or data updates.", "module":
"opal_relay_api", "name": "horizon.opal_relay_api", "process": {"id": 17, "name": "MainProcess"}, "thread": {"id": 281472985017632, "name": "MainThread"}, "time":
{"repr": "2025-11-18 06:59:00.254824+00:00", "timestamp": 1763449140.254824}}}
Is there any setting I did not set, like the uptime server url?Slackbot
11/18/2025, 12:28 PMStephen Morrison
11/18/2025, 9:13 PMMichael Chen
11/19/2025, 5:43 PM