Karlo
Karlo7d ago

Zitadel v2beta API – ListOrganizationMetadata returns 404

Description: We are integrating Zitadel v2 beta APIs and encountered issues with the ListOrganizationMetadata endpoint. The call consistently returns 404 Not Found. Environment: • Zitadel version: v3.4.1 • Endpoint: https://xxx.dev.com/zitadel.org.v2beta.OrganizationService/ListOrganizationMetadata Request Example:
{ "organizationId": "<org-id>", "pagination": { "limit": 100, "asc": true }, "filter": [ { "keyQuery": { "key": "testValue", "method": "TEXT_QUERY_METHOD_EQUALS" } } ] }
Response:
{ "code": 5, "message": "Not Found" }
Expected Result: List of organization metadata matching the provided query. Actual Result: 404 Not Found error returned every time. Request: Can you please check if this is an issue with the endpoint availability or if we are calling it incorrectly? EDIT: - updated main body with initial call json
9 Replies
Ask Inkeep
Ask Inkeep7d ago
Hi @Karlo, I'm an AI assistant for ZITADEL. While a team member reviews this question, I'll see if I can find relevant sources for your question. Answer I wasn't able to find a direct answer, here are some relevant sources: 1. Organization Service Beta API : This beta API is intended to manage organizations for ZITADEL and expects breaking changes to occur (1) . 2. SetOrganizationMetadata : Shows how to set organization metadata with the required org.write permission (2) . The ListOrganizationMetadata endpoint you're trying to use isn't documented in the available sources. Since you're using the v2beta API which expects breaking changes (1) , this endpoint may not be available or may have been modified. I'd recommend clicking the "Ask for help" button to tag a team member who can verify the current endpoint availability. ​ To learn more, see the sources I considered: [1] Organization Service Beta API [2] SetOrganizationMetadata ​ Feel free to tag @Ask Inkeep with additional questions.
Rajat
Rajat7d ago
hey @Karlo thanks for your question and welcome to the server, I will take a look at it and will get back to you 🙂 hey @Karlo this body works for me
{
"organizationId": "<org-id>",
"pagination": {
"limit": 100,
"asc": true
},
"filter": [
{
"keyQuery": {
"key": "testValue",
"method": "TEXT_QUERY_METHOD_EQUALS"
}
}
]
}
{
"organizationId": "<org-id>",
"pagination": {
"limit": 100,
"asc": true
},
"filter": [
{
"keyQuery": {
"key": "testValue",
"method": "TEXT_QUERY_METHOD_EQUALS"
}
}
]
}
for the endpoint /zitadel.org.v2beta.OrganizationService/ListOrganizationMetadata basically you missed the "filter" body which embeds the queries
Karlo
KarloOP7d ago
@Rajat - I've tested with exactly the same call you provided just now - still got the same response. Actually, this was my initial call - i've just pasted wrong code here in first thread (which is fixed now) Could it be because of the Zitadel version? Does this work on v3.4.1? Or is there anything elase that I could test?
No description
Karlo
KarloOP7d ago
@Rajat - Are you able to fetch the data, or/and access the organization metadata?
Rajat
Rajat7d ago
can you pls share me the full curl, pls remove any personal stuff but do not change anything else
Karlo
KarloOP13h ago
Hey @Rajat - here is full curl call I've removed token from Auth, and the domain name. The rest is untouched. curl --location 'https://xxx.dev.xxx.io/zitadel.org.v2beta.OrganizationService/ListOrganizationMetadata' \ --header 'Connect-Protocol-Version: 1' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyxxxx' \ --data '{ "organizationId": "<org-id>", "pagination": { "limit": 100, "asc": true }, "filter": [ { "keyQuery": { "key": "testValue", "method": "TEXT_QUERY_METHOD_EQUALS" } } ] }' @Rajat - Just to follow up - have you managed to find anything? @Rajat - Any finsings?
Rajat
Rajat8h ago
hey @Karlo I was on vacation and only back today so gonna look into it and get back to you hey @Karlo you need to upgrade your zitadel version to use v4.x.x and that is why it doesnt work. This works for me
curl --location '<<custom-domain>>/zitadel.org.v2beta.OrganizationService/ListOrganizationMetadata' \
--header 'Connect-Protocol-Version: 1' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ••••••' \
--data '{
"organizationId": "<<org-id>>",
"pagination": {
"limit": 100,
"asc": true
},
"filter": [
{
"keyQuery": {
"key": "testValue",
"method": "TEXT_QUERY_METHOD_EQUALS"
}
}
]
}'
curl --location '<<custom-domain>>/zitadel.org.v2beta.OrganizationService/ListOrganizationMetadata' \
--header 'Connect-Protocol-Version: 1' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ••••••' \
--data '{
"organizationId": "<<org-id>>",
"pagination": {
"limit": 100,
"asc": true
},
"filter": [
{
"keyQuery": {
"key": "testValue",
"method": "TEXT_QUERY_METHOD_EQUALS"
}
}
]
}'
Karlo
KarloOP7h ago
@Rajat Thanks Rajat. The main concern we have is that a lot of the V2 APIs are still marked as beta. Since they might change and break in future releases, we cannot safely migrate to v4.x.x yet. Do you know when Zitadel plans to finalize and stabilize the V2 APIs so we can rely on them for production? Having a clear timeline would help us plan the migration without risking breaking changes.
Rajat
Rajat6h ago
hey @Karlo to answer your question.
Do you know when Zitadel plans to finalize and stabilize the V2 APIs so we can rely on them for production? Having a clear timeline would help us plan the migration without risking breaking changes.
the V2 APIs have been announced on our roadmap already (under New features) you can also look under Breaking changes to verify what changes you need to make that may/may not affect your system. Hope this helps. Thanks

Did you find this page helpful?