{"items":[{"type":"link","label":"Management API","link":"/apis/mgmt/api","routeSlug":"/apis/mgmt/api","content":{"contentType":"overview","meta":{"name":"Management API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"api.json","url":"/_bundle/apis/mgmt/api.json?download"},{"kind":"download","label":"api.yaml","url":"/_bundle/apis/mgmt/api.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"externallink","title":"URL","titleTranslationKey":"info.contact.url","label":"https://vilna.io","url":"https://vilna.io"},{"kind":"email","title":"Vilna API Team","email":"support@vilna.io","label":"support@vilna.io","withCopyButton":true,"copyContent":"support@vilna.io"},{"kind":"externallink","title":"License","titleTranslationKey":"info.license","label":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"},{"kind":"externallink","label":"Terms of Service","labelTranslationKey":"info.termsOfService","url":"https://docs.vilna.io/legal/terms"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"python","title":"Python","lang":"Python"},{"key":"go","title":"Go","lang":"Go"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Management API (0.27.5)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Vilna Management API. Manage workspaces, projects, team members, and API keys."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authentication"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every request must include a management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header. Management keys are workspace-scoped: each key only sees the workspace it was created in. Every operation lists the permission scopes its key must hold (e.g., "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mgt:project:write"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). A key missing the required scope gets "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Types"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Vilna has three key types, each with its own prefix. Don't mix them:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": management keys authenticate calls to this API (manage workspaces, projects, members, and other keys)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": project-scoped API keys for the public Vilna API ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"api.vilna.io"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": workspace-scoped keys for blockchain JSON-RPC endpoints ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rpc.vilna.io"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This API creates and revokes API keys and RPC keys. Management keys are issued via the Vilna dashboard and can't be listed or rotated here. Their lifecycle events ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mgt_key.created"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mgt_key.revoked"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") still appear in the activity log so admins can audit changes."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quick Links"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/apis/mgmt/authorization"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization Guide"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Roles, permissions, and access control"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/guides/quickstart"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quick Start Guide"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Step-by-step integration tutorial"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Endpoints"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workspace Management"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#tag/member"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Members"},"children":[]}]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Workspace members and their roles"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#tag/invitation"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Invitations"},"children":[]}]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Workspace invitation lifecycle"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#tag/project"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Projects"},"children":[]}]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Create, update, and delete projects within a workspace"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#tag/project_member"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Project Members"},"children":[]}]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Assign and manage project-level member access"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#tag/log"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Activity Log"},"children":[]}]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Audit trail of workspace activity"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Management"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#tag/api_key"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API Keys"},"children":[]}]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Project-scoped API keys for the public Vilna API"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#tag/rpc_key"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RPC Keys"},"children":[]}]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Workspace-scoped keys for blockchain RPC endpoints"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RPC Access"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#tag/rpc"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RPC"},"children":[]}]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Workspace RPC endpoint details"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Infrastructure"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#tag/version"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Version"},"children":[]}]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Service version info"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Array Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filters that accept multiple values ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"role"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", etc.) use repeated keys:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"✅ "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"?status=active&status=revoked"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"❌ "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"?status=active,revoked"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This follows the OpenAPI default ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"style: form, explode: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Need Help?"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Visit our "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/apis/mgmt/authorization"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"documentation portal"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for detailed guides and examples."},"children":[]}]}]}]}],"sectionId":"/apis/mgmt/api"}],"sectionId":"/apis/mgmt/api"}]}]}},{"type":"separator","label":"Workspace","content":null},{"type":"group","label":"Members","link":"/apis/mgmt/api/member","routeSlug":"/apis/mgmt/api/member","items":[{"label":"List workspace members","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/member/list-workspace-members","routeSlug":"/apis/mgmt/api/member/list-workspace-members","metadata":{"seo":{"title":"List workspace members","description":"Return workspace members with their roles."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-workspace-members","name":"List workspace members","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1members/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List workspace members","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return workspace members with their roles."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:member:read"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1members/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"page","in":"query","schemaId":"schema_283","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1-based page index. Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when omitted."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_284","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Page size. Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"30"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", capped at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"100"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"sort_by","in":"query","schemaId":"schema_285","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sort field. Prefix with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for descending order (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"name":"role","in":"query","schemaId":"schema_286","description":"Filter workspace members by role.","example":["admin"]},{"name":"search","in":"query","schemaId":"schema_287","description":"Filter workspace members by email (partial match, case-insensitive)."}],"pointer":"/paths/~1workspaces~1{workspace_id}~1members/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/workspaces/{workspace_id}/members","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_283"},{"name":"limit","in":"query","required":false,"example":20,"schemaId":"schema_284"},{"name":"sort_by","in":"query","required":false,"example":"joined_at","schemaId":"schema_285"},{"name":"role","in":"query","required":false,"example":["admin"],"schemaId":"schema_286","style":"form","explode":true},{"name":"search","in":"query","required":false,"example":"john@","schemaId":"schema_287"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:member:read"]}],"responseCodes":["200","400","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/members","href":"member/list-workspace-members","openApiOperationId":"list-workspace-members","summary":"List workspace members"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of workspace members.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_288"}},"schemaId":"schema_288"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1members/get/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1members/get/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1members/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_288","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_288"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1members/get/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1members/get/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/member/list-workspace-members"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/members"},{"label":"Update workspace member","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/member/patch-workspace-member","routeSlug":"/apis/mgmt/api/member/patch-workspace-member","metadata":{"seo":{"title":"Update workspace member","description":"Update a member's workspace role."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"patch-workspace-member","name":"Update workspace member","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update workspace member","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update a member's workspace role."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:member:write"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"user_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the user.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_289"}},"schemaId":"schema_289","pointer":"/paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/requestBody","description":"Workspace member role update payload."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/workspaces/{workspace_id}/members/{user_id}","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"user_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:member:write"]}],"requestBody":{"application/json":{"schemaId":"schema_289"}},"responseCodes":["200","400","401","403","404","422","default"],"pointer":"/workspaces/{workspace_id}/members/{user_id}","href":"member/patch-workspace-member","openApiOperationId":"patch-workspace-member","summary":"Update workspace member"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"schemaId":"schema_289","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_289"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Single workspace member.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_290"}},"schemaId":"schema_290"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"422","description":"Request preconditions were not met.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/422/content/application~1problem+json/examples/key_limit_exceeded"]}},"schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/422/content/application~1problem+json/examples/key_limit_exceeded"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_290","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_290"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"422","schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/422/content/application~1problem+json/examples/key_limit_exceeded"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/422/content/application~1problem+json/examples/key_limit_exceeded"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/member/patch-workspace-member"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/members/{user_id}"},{"label":"Remove workspace member","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/member/remove-workspace-member","routeSlug":"/apis/mgmt/api/member/remove-workspace-member","metadata":{"seo":{"title":"Remove workspace member","description":"Remove a member from the workspace and revoke all of their project grants."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"remove-workspace-member","name":"Remove workspace member","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Remove workspace member","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Remove a member from the workspace and revoke all of their project grants."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:member:delete"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"user_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the user.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/workspaces/{workspace_id}/members/{user_id}","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"user_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:member:delete"]}],"responseCodes":["204","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/members/{user_id}","href":"member/remove-workspace-member","openApiOperationId":"remove-workspace-member","summary":"Remove workspace member"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Successful operation with no response body."},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/member/remove-workspace-member"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/members/{user_id}"}],"content":{"contentType":"group","meta":{"name":"member"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Members","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workspace members and their roles ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"admin"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/workspaces/{workspace_id}/members","summary":"List workspace members","prefix":{"name":"get","color":"get"},"badges":[],"link":"/member/list-workspace-members","deprecated":false},{"title":"/workspaces/{workspace_id}/members/{user_id}","summary":"Update workspace member","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/member/patch-workspace-member","deprecated":false},{"title":"/workspaces/{workspace_id}/members/{user_id}","summary":"Remove workspace member","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/member/remove-workspace-member","deprecated":false}]}]}]}]}},{"type":"group","label":"Invitations","link":"/apis/mgmt/api/invitation","routeSlug":"/apis/mgmt/api/invitation","items":[{"label":"List workspace invitations","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/invitation/list-workspace-invitations","routeSlug":"/apis/mgmt/api/invitation/list-workspace-invitations","metadata":{"seo":{"title":"List workspace invitations","description":"Return workspace invitations in any lifecycle status."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-workspace-invitations","name":"List workspace invitations","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1invitations/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List workspace invitations","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return workspace invitations in any lifecycle status."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:member:read"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1invitations/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"page","in":"query","schemaId":"schema_283","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1-based page index. Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when omitted."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_284","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Page size. Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"30"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", capped at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"100"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"sort_by","in":"query","schemaId":"schema_291","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sort field. Prefix with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for descending order (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"name":"status","in":"query","schemaId":"schema_292","description":"Filter invitations by status.","example":["pending"]}],"pointer":"/paths/~1workspaces~1{workspace_id}~1invitations/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/workspaces/{workspace_id}/invitations","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_283"},{"name":"limit","in":"query","required":false,"example":20,"schemaId":"schema_284"},{"name":"sort_by","in":"query","required":false,"example":"created_at","schemaId":"schema_291"},{"name":"status","in":"query","required":false,"example":["pending"],"schemaId":"schema_292","style":"form","explode":true}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:member:read"]}],"responseCodes":["200","400","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/invitations","href":"invitation/list-workspace-invitations","openApiOperationId":"list-workspace-invitations","summary":"List workspace invitations"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of invitations.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_293"}},"schemaId":"schema_293"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1invitations/get/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1invitations/get/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1invitations/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_293","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_293"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1invitations/get/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1invitations/get/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/invitation/list-workspace-invitations"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/invitations"},{"label":"Create workspace invitation","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/invitation/create-workspace-invitation","routeSlug":"/apis/mgmt/api/invitation/create-workspace-invitation","metadata":{"seo":{"title":"Create workspace invitation","description":"Create an invitation by email with an optional bundle of project grants. Idempotent: returns 200 OK if a pending invitation for the same recipient already exists."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"create-workspace-invitation","name":"Create workspace invitation","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1invitations/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create workspace invitation","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create an invitation by email with an optional bundle of project grants. Idempotent: returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200 OK"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if a pending invitation for the same recipient already exists."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:member:write"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1invitations/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_294"}},"schemaId":"schema_294","pointer":"/paths/~1workspaces~1{workspace_id}~1invitations/post/requestBody","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workspace invitation creation payload. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project_grants"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" may only accompany "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"workspace_role: member"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; admins receive implicit access to every project."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/workspaces/{workspace_id}/invitations","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:member:write"]}],"requestBody":{"application/json":{"schemaId":"schema_294"}},"responseCodes":["200","201","400","401","403","404","409","422","default"],"pointer":"/workspaces/{workspace_id}/invitations","href":"invitation/create-workspace-invitation","openApiOperationId":"create-workspace-invitation","summary":"Create workspace invitation"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"schemaId":"schema_294","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_294"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Single invitation.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_295"}},"schemaId":"schema_295"},{"code":"201","description":"Single invitation.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_295"}},"schemaId":"schema_295"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"409","description":"Request conflicts with the current resource state.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/409/content/application~1problem+json/examples/last_admin"]}},"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/409/content/application~1problem+json/examples/last_admin"]},{"code":"422","description":"Request preconditions were not met.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded"]}},"schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1invitations/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_295","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_295"}}},{"code":"201","schemaId":"schema_295","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_295"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"409","schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/409/content/application~1problem+json/examples/last_admin"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1invitations/post/responses/409/content/application~1problem+json/examples/last_admin"]}}},{"code":"422","schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/invitation/create-workspace-invitation"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/invitations"},{"label":"Revoke workspace invitation","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/invitation/revoke-workspace-invitation","routeSlug":"/apis/mgmt/api/invitation/revoke-workspace-invitation","metadata":{"seo":{"title":"Revoke workspace invitation","description":"Revoke a pending invitation. Invitations in terminal status cannot be revoked."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"revoke-workspace-invitation","name":"Revoke workspace invitation","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Revoke workspace invitation","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Revoke a pending invitation. Invitations in terminal status cannot be revoked."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:member:write"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"invitation_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the invitation.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/workspaces/{workspace_id}/invitations/{invitation_id}/actions/revoke","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"invitation_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:member:write"]}],"responseCodes":["204","400","401","403","404","409","default"],"pointer":"/workspaces/{workspace_id}/invitations/{invitation_id}/actions/revoke","href":"invitation/revoke-workspace-invitation","openApiOperationId":"revoke-workspace-invitation","summary":"Revoke workspace invitation"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Successful operation with no response body."},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"409","description":"Request conflicts with the current resource state.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/409/content/application~1problem+json/examples/last_admin"]}},"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/409/content/application~1problem+json/examples/last_admin"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"409","schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/409/content/application~1problem+json/examples/last_admin"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/409/content/application~1problem+json/examples/last_admin"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/invitation/revoke-workspace-invitation"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/invitations/{invitation_id}/actions/revoke"}],"content":{"contentType":"group","meta":{"name":"invitation"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Invitations","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workspace invitation lifecycle ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pending"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"accepted"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"declined"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"revoked"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"expired"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/workspaces/{workspace_id}/invitations","summary":"List workspace invitations","prefix":{"name":"get","color":"get"},"badges":[],"link":"/invitation/list-workspace-invitations","deprecated":false},{"title":"/workspaces/{workspace_id}/invitations","summary":"Create workspace invitation","prefix":{"name":"post","color":"post"},"badges":[],"link":"/invitation/create-workspace-invitation","deprecated":false},{"title":"/workspaces/{workspace_id}/invitations/{invitation_id}/actions/revoke","summary":"Revoke workspace invitation","prefix":{"name":"post","color":"post"},"badges":[],"link":"/invitation/revoke-workspace-invitation","deprecated":false}]}]}]}]}},{"type":"group","label":"Activity Log","link":"/apis/mgmt/api/log","routeSlug":"/apis/mgmt/api/log","items":[{"label":"List activity log","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/log/list-workspace-logs","routeSlug":"/apis/mgmt/api/log/list-workspace-logs","metadata":{"seo":{"title":"List activity log","description":"Return workspace activity events in reverse-chronological order."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-workspace-logs","name":"List activity log","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1logs/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List activity log","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return workspace activity events in reverse-chronological order."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:self:read"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1logs/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"page","in":"query","schemaId":"schema_283","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1-based page index. Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when omitted."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_284","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Page size. Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"30"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", capped at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"100"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"sort_by","in":"query","schemaId":"schema_296","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sort field. Prefix with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for descending order (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"name":"type","in":"query","schemaId":"schema_297","description":"Filter log events by type.","example":["workspace.created"]},{"name":"actor_id","in":"query","schemaId":"schema_282","description":"Filter log events by actor user UUID."},{"name":"from","in":"query","schemaId":"schema_298","description":"Return only events emitted at or after this timestamp."},{"name":"to","in":"query","schemaId":"schema_299","description":"Return only events emitted before this timestamp."}],"pointer":"/paths/~1workspaces~1{workspace_id}~1logs/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/workspaces/{workspace_id}/logs","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_283"},{"name":"limit","in":"query","required":false,"example":20,"schemaId":"schema_284"},{"name":"sort_by","in":"query","required":false,"example":"created_at","schemaId":"schema_296"},{"name":"type","in":"query","required":false,"example":["workspace.created"],"schemaId":"schema_297","style":"form","explode":true},{"name":"actor_id","in":"query","required":false,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"from","in":"query","required":false,"example":"2024-01-01T00:00:00Z","schemaId":"schema_298"},{"name":"to","in":"query","required":false,"example":"2024-02-01T00:00:00Z","schemaId":"schema_299"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:self:read"]}],"responseCodes":["200","400","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/logs","href":"log/list-workspace-logs","openApiOperationId":"list-workspace-logs","summary":"List activity log"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated activity feed.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_300"}},"schemaId":"schema_300"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1logs/get/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1logs/get/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1logs/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_300","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_300"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1logs/get/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1logs/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1logs/get/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/log/list-workspace-logs"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/logs"}],"content":{"contentType":"group","meta":{"name":"log"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Activity Log","showPageActions":true},{"nodeType":"markdoc","content":"Audit trail of member, project, and key activity within a workspace."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/workspaces/{workspace_id}/logs","summary":"List activity log","prefix":{"name":"get","color":"get"},"badges":[],"link":"/log/list-workspace-logs","deprecated":false}]}]}]}]}},{"type":"separator","label":"Projects","content":null},{"type":"group","label":"Projects","link":"/apis/mgmt/api/project","routeSlug":"/apis/mgmt/api/project","items":[{"label":"List workspace projects","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/project/list-workspace-projects","routeSlug":"/apis/mgmt/api/project/list-workspace-projects","metadata":{"seo":{"title":"List workspace projects","description":"Return projects within a workspace. Workspace admins receive all projects; members receive only projects where they hold an explicit grant."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-workspace-projects","name":"List workspace projects","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1projects/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List workspace projects","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return projects within a workspace. Workspace admins receive all projects; members receive only projects where they hold an explicit grant.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:project:read"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"page","in":"query","schemaId":"schema_283","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1-based page index. Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when omitted."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_284","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Page size. Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"30"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", capped at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"100"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"sort_by","in":"query","schemaId":"schema_301","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sort field. Prefix with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for descending order (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"name":"status","in":"query","schemaId":"schema_302","description":"Filter projects by status.","example":["active"]},{"name":"search","in":"query","schemaId":"schema_303","description":"Filter projects by name (partial match, case-insensitive)."}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/workspaces/{workspace_id}/projects","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_283"},{"name":"limit","in":"query","required":false,"example":20,"schemaId":"schema_284"},{"name":"sort_by","in":"query","required":false,"example":"created_at","schemaId":"schema_301"},{"name":"status","in":"query","required":false,"example":["active"],"schemaId":"schema_302","style":"form","explode":true},{"name":"search","in":"query","required":false,"example":"production","schemaId":"schema_303"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:project:read"]}],"responseCodes":["200","400","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/projects","href":"project/list-workspace-projects","openApiOperationId":"list-workspace-projects","summary":"List workspace projects"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of projects.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_304"}},"schemaId":"schema_304"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects/get/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects/get/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_304","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_304"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects/get/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects/get/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project/list-workspace-projects"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/projects"},{"label":"Create project","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/project/create-workspace-project","routeSlug":"/apis/mgmt/api/project/create-workspace-project","metadata":{"seo":{"title":"Create project","description":"Create a new project in the workspace."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"create-workspace-project","name":"Create project","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1projects/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create project","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new project in the workspace."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:project:write"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_305"}},"schemaId":"schema_305","pointer":"/paths/~1workspaces~1{workspace_id}~1projects/post/requestBody","description":"Project creation payload."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/workspaces/{workspace_id}/projects","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:project:write"]}],"requestBody":{"application/json":{"schemaId":"schema_305"}},"responseCodes":["201","400","401","403","404","409","default"],"pointer":"/workspaces/{workspace_id}/projects","href":"project/create-workspace-project","openApiOperationId":"create-workspace-project","summary":"Create project"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"schemaId":"schema_305","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_305"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Single project.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_306"}},"schemaId":"schema_306"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects/post/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects/post/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"409","description":"Request conflicts with the current resource state.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects/post/responses/409/content/application~1problem+json/examples/last_admin"]}},"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects/post/responses/409/content/application~1problem+json/examples/last_admin"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_306","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_306"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects/post/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects/post/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"409","schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects/post/responses/409/content/application~1problem+json/examples/last_admin"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects/post/responses/409/content/application~1problem+json/examples/last_admin"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project/create-workspace-project"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/projects"},{"label":"Get project","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/project/get-workspace-project","routeSlug":"/apis/mgmt/api/project/get-workspace-project","metadata":{"seo":{"title":"Get project","description":"Return a project by ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-workspace-project","name":"Get project","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get project","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return a project by ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:project:read"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"project_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the project.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/workspaces/{workspace_id}/projects/{project_id}","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"project_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:project:read"]}],"responseCodes":["200","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/projects/{project_id}","href":"project/get-workspace-project","openApiOperationId":"get-workspace-project","summary":"Get project"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Single project.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_306"}},"schemaId":"schema_306"},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_306","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_306"}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project/get-workspace-project"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/projects/{project_id}"},{"label":"Update project","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/project/patch-workspace-project","routeSlug":"/apis/mgmt/api/project/patch-workspace-project","metadata":{"seo":{"title":"Update project","description":"Update a project's name."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"patch-workspace-project","name":"Update project","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update project","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update a project's name."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:project:write"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"project_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the project.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_307"}},"schemaId":"schema_307","pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/requestBody","description":"Project update payload."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/workspaces/{workspace_id}/projects/{project_id}","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"project_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:project:write"]}],"requestBody":{"application/json":{"schemaId":"schema_307"}},"responseCodes":["200","400","401","403","404","409","default"],"pointer":"/workspaces/{workspace_id}/projects/{project_id}","href":"project/patch-workspace-project","openApiOperationId":"patch-workspace-project","summary":"Update project"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"schemaId":"schema_307","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_307"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Single project.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_306"}},"schemaId":"schema_306"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"409","description":"Request conflicts with the current resource state.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/409/content/application~1problem+json/examples/last_admin"]}},"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/409/content/application~1problem+json/examples/last_admin"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_306","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_306"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"409","schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/409/content/application~1problem+json/examples/last_admin"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/409/content/application~1problem+json/examples/last_admin"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project/patch-workspace-project"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/projects/{project_id}"},{"label":"Delete project","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/project/delete-workspace-project","routeSlug":"/apis/mgmt/api/project/delete-workspace-project","metadata":{"seo":{"title":"Delete project","description":"Soft-delete a project. Nested keys and member grants are purged asynchronously."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"delete-workspace-project","name":"Delete project","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete project","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Soft-delete a project. Nested keys and member grants are purged asynchronously."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:project:self:delete"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"project_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the project.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/workspaces/{workspace_id}/projects/{project_id}","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"project_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:project:self:delete"]}],"responseCodes":["204","401","403","404","409","default"],"pointer":"/workspaces/{workspace_id}/projects/{project_id}","href":"project/delete-workspace-project","openApiOperationId":"delete-workspace-project","summary":"Delete project"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Successful operation with no response body."},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"409","description":"Request conflicts with the current resource state.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/409/content/application~1problem+json/examples/last_admin"]}},"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/409/content/application~1problem+json/examples/last_admin"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"409","schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/409/content/application~1problem+json/examples/last_admin"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/409/content/application~1problem+json/examples/last_admin"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project/delete-workspace-project"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/projects/{project_id}"}],"content":{"contentType":"group","meta":{"name":"project"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Projects","showPageActions":true},{"nodeType":"markdoc","content":"Create, update, and delete projects within a workspace."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/workspaces/{workspace_id}/projects","summary":"List workspace projects","prefix":{"name":"get","color":"get"},"badges":[],"link":"/project/list-workspace-projects","deprecated":false},{"title":"/workspaces/{workspace_id}/projects","summary":"Create project","prefix":{"name":"post","color":"post"},"badges":[],"link":"/project/create-workspace-project","deprecated":false},{"title":"/workspaces/{workspace_id}/projects/{project_id}","summary":"Get project","prefix":{"name":"get","color":"get"},"badges":[],"link":"/project/get-workspace-project","deprecated":false},{"title":"/workspaces/{workspace_id}/projects/{project_id}","summary":"Update project","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/project/patch-workspace-project","deprecated":false},{"title":"/workspaces/{workspace_id}/projects/{project_id}","summary":"Delete project","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/project/delete-workspace-project","deprecated":false}]}]}]}]}},{"type":"group","label":"Project Members","link":"/apis/mgmt/api/project_member","routeSlug":"/apis/mgmt/api/project_member","items":[{"label":"List project members","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/project_member/list-workspace-project-members","routeSlug":"/apis/mgmt/api/project_member/list-workspace-project-members","metadata":{"seo":{"title":"List project members","description":"Return explicit project grants (editors and viewers). Workspace admins have implicit access and are not listed."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-workspace-project-members","name":"List project members","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List project members","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return explicit project grants (editors and viewers). Workspace admins have implicit access and are not listed."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:member:read"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"project_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the project.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"page","in":"query","schemaId":"schema_283","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1-based page index. Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when omitted."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_284","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Page size. Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"30"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", capped at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"100"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"sort_by","in":"query","schemaId":"schema_308","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sort field. Prefix with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for descending order (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"name":"role","in":"query","schemaId":"schema_309","description":"Filter project members by role.","example":["editor"]},{"name":"search","in":"query","schemaId":"schema_287","description":"Filter project members by email (partial match, case-insensitive)."}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/workspaces/{workspace_id}/projects/{project_id}/members","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"project_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_283"},{"name":"limit","in":"query","required":false,"example":20,"schemaId":"schema_284"},{"name":"sort_by","in":"query","required":false,"example":"granted_at","schemaId":"schema_308"},{"name":"role","in":"query","required":false,"example":["editor"],"schemaId":"schema_309","style":"form","explode":true},{"name":"search","in":"query","required":false,"example":"john@","schemaId":"schema_287"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:member:read"]}],"responseCodes":["200","400","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/projects/{project_id}/members","href":"project_member/list-workspace-project-members","openApiOperationId":"list-workspace-project-members","summary":"List project members"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of project member grants.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_310"}},"schemaId":"schema_310"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_310","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_310"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project_member/list-workspace-project-members"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/projects/{project_id}/members"},{"label":"Assign project member","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/project_member/assign-workspace-project-member","routeSlug":"/apis/mgmt/api/project_member/assign-workspace-project-member","metadata":{"seo":{"title":"Assign project member","description":"Grant a workspace member project-level access (editor or viewer). Idempotent: returns 200 OK if the grant already exists with the same role, 409 Conflict if it exists with a different role."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"assign-workspace-project-member","name":"Assign project member","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Assign project member","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Grant a workspace member project-level access ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"editor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"viewer"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Idempotent: returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200 OK"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if the grant already exists with the same role, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"409 Conflict"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if it exists with a different role."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:member:write"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"project_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the project.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_311"}},"schemaId":"schema_311","pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/requestBody","description":"Project grant creation payload. The target user must already be a workspace member."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/workspaces/{workspace_id}/projects/{project_id}/members","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"project_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:member:write"]}],"requestBody":{"application/json":{"schemaId":"schema_311"}},"responseCodes":["200","201","400","401","403","404","409","default"],"pointer":"/workspaces/{workspace_id}/projects/{project_id}/members","href":"project_member/assign-workspace-project-member","openApiOperationId":"assign-workspace-project-member","summary":"Assign project member"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"schemaId":"schema_311","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_311"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Single project member grant.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_312"}},"schemaId":"schema_312"},{"code":"201","description":"Single project member grant.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_312"}},"schemaId":"schema_312"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"409","description":"Request conflicts with the current resource state.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/409/content/application~1problem+json/examples/last_admin"]}},"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/409/content/application~1problem+json/examples/last_admin"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_312","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_312"}}},{"code":"201","schemaId":"schema_312","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_312"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"409","schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/409/content/application~1problem+json/examples/last_admin"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ConflictProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/409/content/application~1problem+json/examples/member_already_exists","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/409/content/application~1problem+json/examples/last_admin"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project_member/assign-workspace-project-member"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/projects/{project_id}/members"},{"label":"Update project member","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/project_member/patch-workspace-project-member","routeSlug":"/apis/mgmt/api/project_member/patch-workspace-project-member","metadata":{"seo":{"title":"Update project member","description":"Update a member's project role."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"patch-workspace-project-member","name":"Update project member","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update project member","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update a member's project role."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:member:write"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"project_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the project.","required":true},{"name":"user_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the user.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_313"}},"schemaId":"schema_313","pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/requestBody","description":"Project grant role update payload."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/workspaces/{workspace_id}/projects/{project_id}/members/{user_id}","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"project_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"user_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:member:write"]}],"requestBody":{"application/json":{"schemaId":"schema_313"}},"responseCodes":["200","400","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/projects/{project_id}/members/{user_id}","href":"project_member/patch-workspace-project-member","openApiOperationId":"patch-workspace-project-member","summary":"Update project member"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"schemaId":"schema_313","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_313"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Single project member grant.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_312"}},"schemaId":"schema_312"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_312","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_312"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project_member/patch-workspace-project-member"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/projects/{project_id}/members/{user_id}"},{"label":"Remove project member","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/project_member/remove-workspace-project-member","routeSlug":"/apis/mgmt/api/project_member/remove-workspace-project-member","metadata":{"seo":{"title":"Remove project member","description":"Remove a project grant. The member remains in the workspace."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"remove-workspace-project-member","name":"Remove project member","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Remove project member","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Remove a project grant. The member remains in the workspace."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:member:delete"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"project_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the project.","required":true},{"name":"user_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the user.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/workspaces/{workspace_id}/projects/{project_id}/members/{user_id}","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"project_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"user_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:member:delete"]}],"responseCodes":["204","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/projects/{project_id}/members/{user_id}","href":"project_member/remove-workspace-project-member","openApiOperationId":"remove-workspace-project-member","summary":"Remove project member"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Successful operation with no response body."},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/project_member/remove-workspace-project-member"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/projects/{project_id}/members/{user_id}"}],"content":{"contentType":"group","meta":{"name":"project_member"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Project Members","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Project-level grants for workspace members ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"editor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"viewer"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/workspaces/{workspace_id}/projects/{project_id}/members","summary":"List project members","prefix":{"name":"get","color":"get"},"badges":[],"link":"/project_member/list-workspace-project-members","deprecated":false},{"title":"/workspaces/{workspace_id}/projects/{project_id}/members","summary":"Assign project member","prefix":{"name":"post","color":"post"},"badges":[],"link":"/project_member/assign-workspace-project-member","deprecated":false},{"title":"/workspaces/{workspace_id}/projects/{project_id}/members/{user_id}","summary":"Update project member","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/project_member/patch-workspace-project-member","deprecated":false},{"title":"/workspaces/{workspace_id}/projects/{project_id}/members/{user_id}","summary":"Remove project member","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/project_member/remove-workspace-project-member","deprecated":false}]}]}]}]}},{"type":"separator","label":"RPC","content":null},{"type":"group","label":"RPC","link":"/apis/mgmt/api/rpc","routeSlug":"/apis/mgmt/api/rpc","items":[{"label":"Get workspace RPC","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/rpc/get-workspace-rpc","routeSlug":"/apis/mgmt/api/rpc/get-workspace-rpc","metadata":{"seo":{"title":"Get workspace RPC","description":"Return the workspace RPC singleton configuration. Provisioned automatically with every workspace and always available to its members."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-workspace-rpc","name":"Get workspace RPC","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get workspace RPC","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return the workspace RPC singleton configuration. Provisioned automatically with every workspace and always available to its members.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:self:read"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/workspaces/{workspace_id}/rpc","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:self:read"]}],"responseCodes":["200","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/rpc","href":"rpc/get-workspace-rpc","openApiOperationId":"get-workspace-rpc","summary":"Get workspace RPC"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Workspace RPC configuration.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_314"}},"schemaId":"schema_314"},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc/get/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc/get/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc/get/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_314","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_314"}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc/get/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc/get/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc/get/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rpc/get-workspace-rpc"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/rpc"}],"content":{"contentType":"group","meta":{"name":"rpc"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"RPC","showPageActions":true},{"nodeType":"markdoc","content":"Workspace-scoped access to blockchain JSON-RPC nodes."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/workspaces/{workspace_id}/rpc","summary":"Get workspace RPC","prefix":{"name":"get","color":"get"},"badges":[],"link":"/rpc/get-workspace-rpc","deprecated":false}]}]}]}]}},{"type":"separator","label":"Key Management","content":null},{"type":"group","label":"API Keys","link":"/apis/mgmt/api/api_key","routeSlug":"/apis/mgmt/api/api_key","items":[{"label":"List project keys","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/api_key/list-workspace-project-keys","routeSlug":"/apis/mgmt/api/api_key/list-workspace-project-keys","metadata":{"seo":{"title":"List project keys","description":"Return project API keys."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-workspace-project-keys","name":"List project keys","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List project keys","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return project API keys."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:project:api_key:read"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"project_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the project.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"page","in":"query","schemaId":"schema_283","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1-based page index. Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when omitted."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_284","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Page size. Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"30"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", capped at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"100"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"sort_by","in":"query","schemaId":"schema_315","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sort field. Prefix with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for descending order (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"name":"status","in":"query","schemaId":"schema_316","description":"Filter API keys by lifecycle status.","example":["active"]},{"name":"search","in":"query","schemaId":"schema_303","description":"Filter API keys by name (partial match, case-insensitive)."}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/workspaces/{workspace_id}/projects/{project_id}/keys","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"project_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_283"},{"name":"limit","in":"query","required":false,"example":20,"schemaId":"schema_284"},{"name":"sort_by","in":"query","required":false,"example":"created_at","schemaId":"schema_315"},{"name":"status","in":"query","required":false,"example":["active"],"schemaId":"schema_316","style":"form","explode":true},{"name":"search","in":"query","required":false,"example":"production","schemaId":"schema_303"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:project:api_key:read"]}],"responseCodes":["200","400","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/projects/{project_id}/keys","href":"api_key/list-workspace-project-keys","openApiOperationId":"list-workspace-project-keys","summary":"List project keys"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of API keys.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_317"}},"schemaId":"schema_317"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_317","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_317"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/api_key/list-workspace-project-keys"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/projects/{project_id}/keys"},{"label":"Create project key","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/api_key/create-workspace-project-key","routeSlug":"/apis/mgmt/api/api_key/create-workspace-project-key","metadata":{"seo":{"title":"Create project key","description":"Create a new project API key. The raw secret is returned once and cannot be retrieved again."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"create-workspace-project-key","name":"Create project key","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create project key","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new project API key. The raw secret is returned once and cannot be retrieved again."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:project:api_key:write"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"project_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the project.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_318"}},"schemaId":"schema_318","pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/requestBody","description":"API key creation payload."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/workspaces/{workspace_id}/projects/{project_id}/keys","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"project_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:project:api_key:write"]}],"requestBody":{"application/json":{"schemaId":"schema_318"}},"responseCodes":["201","400","401","403","404","422","default"],"pointer":"/workspaces/{workspace_id}/projects/{project_id}/keys","href":"api_key/create-workspace-project-key","openApiOperationId":"create-workspace-project-key","summary":"Create project key"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"schemaId":"schema_318","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_318"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Newly created API key with raw secret (shown once).","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiKeyCreated"}},"schemaId":"components/schemas/ApiKeyCreated"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"422","description":"Request preconditions were not met.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded"]}},"schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/ApiKeyCreated","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiKeyCreated"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"422","schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/api_key/create-workspace-project-key"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/projects/{project_id}/keys"},{"label":"Get project key","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/api_key/get-workspace-project-key","routeSlug":"/apis/mgmt/api/api_key/get-workspace-project-key","metadata":{"seo":{"title":"Get project key","description":"Return a project API key by ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-workspace-project-key","name":"Get project key","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get project key","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return a project API key by ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:project:api_key:read"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"project_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the project.","required":true},{"name":"key_id","in":"path","schemaId":"schema_282","description":"UUID of the key, as returned by the create or list endpoint for this resource. Not the raw secret.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/workspaces/{workspace_id}/projects/{project_id}/keys/{key_id}","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"project_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"key_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:project:api_key:read"]}],"responseCodes":["200","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/projects/{project_id}/keys/{key_id}","href":"api_key/get-workspace-project-key","openApiOperationId":"get-workspace-project-key","summary":"Get project key"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Single project API key.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_319"}},"schemaId":"schema_319"},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_319","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_319"}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/api_key/get-workspace-project-key"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/projects/{project_id}/keys/{key_id}"},{"label":"Revoke project key","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/api_key/revoke-workspace-project-key","routeSlug":"/apis/mgmt/api/api_key/revoke-workspace-project-key","metadata":{"seo":{"title":"Revoke project key","description":"Revoke a project API key. Once revoked, the key can no longer be used for authentication."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"revoke-workspace-project-key","name":"Revoke project key","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Revoke project key","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Revoke a project API key. Once revoked, the key can no longer be used for authentication."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:project:api_key:write"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"project_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the project.","required":true},{"name":"key_id","in":"path","schemaId":"schema_282","description":"UUID of the key, as returned by the create or list endpoint for this resource. Not the raw secret.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/workspaces/{workspace_id}/projects/{project_id}/keys/{key_id}/actions/revoke","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"project_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"key_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:project:api_key:write"]}],"responseCodes":["204","400","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/projects/{project_id}/keys/{key_id}/actions/revoke","href":"api_key/revoke-workspace-project-key","openApiOperationId":"revoke-workspace-project-key","summary":"Revoke project key"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Successful operation with no response body."},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/api_key/revoke-workspace-project-key"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/projects/{project_id}/keys/{key_id}/actions/revoke"}],"content":{"contentType":"group","meta":{"name":"api_key"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"API Keys","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Manage project-scoped API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") used to authenticate the public Vilna API ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"api.vilna.io"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). A project must exist before a key can be created. The raw secret is returned only in the create response."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/workspaces/{workspace_id}/projects/{project_id}/keys","summary":"List project keys","prefix":{"name":"get","color":"get"},"badges":[],"link":"/api_key/list-workspace-project-keys","deprecated":false},{"title":"/workspaces/{workspace_id}/projects/{project_id}/keys","summary":"Create project key","prefix":{"name":"post","color":"post"},"badges":[],"link":"/api_key/create-workspace-project-key","deprecated":false},{"title":"/workspaces/{workspace_id}/projects/{project_id}/keys/{key_id}","summary":"Get project key","prefix":{"name":"get","color":"get"},"badges":[],"link":"/api_key/get-workspace-project-key","deprecated":false},{"title":"/workspaces/{workspace_id}/projects/{project_id}/keys/{key_id}/actions/revoke","summary":"Revoke project key","prefix":{"name":"post","color":"post"},"badges":[],"link":"/api_key/revoke-workspace-project-key","deprecated":false}]}]}]}]}},{"type":"group","label":"RPC Keys","link":"/apis/mgmt/api/rpc_key","routeSlug":"/apis/mgmt/api/rpc_key","items":[{"label":"List RPC keys","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/rpc_key/list-workspace-rpc-keys","routeSlug":"/apis/mgmt/api/rpc_key/list-workspace-rpc-keys","metadata":{"seo":{"title":"List RPC keys","description":"Return workspace RPC keys."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list-workspace-rpc-keys","name":"List RPC keys","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc~1keys/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List RPC keys","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return workspace RPC keys."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:rpc_key:read"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"page","in":"query","schemaId":"schema_283","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1-based page index. Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when omitted."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_284","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Page size. Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"30"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", capped at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"100"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"sort_by","in":"query","schemaId":"schema_315","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sort field. Prefix with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for descending order (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"name":"status","in":"query","schemaId":"schema_316","description":"Filter RPC keys by lifecycle status.","example":["active"]},{"name":"search","in":"query","schemaId":"schema_303","description":"Filter RPC keys by name (partial match, case-insensitive)."}],"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/workspaces/{workspace_id}/rpc/keys","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_283"},{"name":"limit","in":"query","required":false,"example":20,"schemaId":"schema_284"},{"name":"sort_by","in":"query","required":false,"example":"created_at","schemaId":"schema_315"},{"name":"status","in":"query","required":false,"example":["active"],"schemaId":"schema_316","style":"form","explode":true},{"name":"search","in":"query","required":false,"example":"production","schemaId":"schema_303"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:rpc_key:read"]}],"responseCodes":["200","400","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/rpc/keys","href":"rpc_key/list-workspace-rpc-keys","openApiOperationId":"list-workspace-rpc-keys","summary":"List RPC keys"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of RPC keys.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_320"}},"schemaId":"schema_320"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_320","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_320"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rpc_key/list-workspace-rpc-keys"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/rpc/keys"},{"label":"Create RPC key","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/rpc_key/create-workspace-rpc-key","routeSlug":"/apis/mgmt/api/rpc_key/create-workspace-rpc-key","metadata":{"seo":{"title":"Create RPC key","description":"Create a new workspace RPC key. The raw secret is returned once and cannot be retrieved again."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"create-workspace-rpc-key","name":"Create RPC key","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc~1keys/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create RPC key","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new workspace RPC key. The raw secret is returned once and cannot be retrieved again."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:rpc_key:write"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_321"}},"schemaId":"schema_321","pointer":"/paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/requestBody","description":"RPC key creation payload."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/workspaces/{workspace_id}/rpc/keys","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:rpc_key:write"]}],"requestBody":{"application/json":{"schemaId":"schema_321"}},"responseCodes":["201","400","401","403","404","422","default"],"pointer":"/workspaces/{workspace_id}/rpc/keys","href":"rpc_key/create-workspace-rpc-key","openApiOperationId":"create-workspace-rpc-key","summary":"Create RPC key"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"schemaId":"schema_321","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_321"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Newly created RPC key with raw secret (shown once).","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RpcKeyCreated"}},"schemaId":"components/schemas/RpcKeyCreated"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"422","description":"Request preconditions were not met.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded"]}},"schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/RpcKeyCreated","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/RpcKeyCreated"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"422","schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/PreconditionProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rpc_key/create-workspace-rpc-key"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/rpc/keys"},{"label":"Get RPC key","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/rpc_key/get-workspace-rpc-key","routeSlug":"/apis/mgmt/api/rpc_key/get-workspace-rpc-key","metadata":{"seo":{"title":"Get RPC key","description":"Return a workspace RPC key by ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-workspace-rpc-key","name":"Get RPC key","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get RPC key","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return a workspace RPC key by ID."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:rpc_key:read"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"key_id","in":"path","schemaId":"schema_282","description":"UUID of the key, as returned by the create or list endpoint for this resource. Not the raw secret.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/workspaces/{workspace_id}/rpc/keys/{key_id}","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"key_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:rpc_key:read"]}],"responseCodes":["200","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/rpc/keys/{key_id}","href":"rpc_key/get-workspace-rpc-key","openApiOperationId":"get-workspace-rpc-key","summary":"Get RPC key"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Single workspace RPC key.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_322"}},"schemaId":"schema_322"},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_322","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_322"}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rpc_key/get-workspace-rpc-key"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/rpc/keys/{key_id}"},{"label":"Revoke RPC key","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/rpc_key/revoke-workspace-rpc-key","routeSlug":"/apis/mgmt/api/rpc_key/revoke-workspace-rpc-key","metadata":{"seo":{"title":"Revoke RPC key","description":"Revoke a workspace RPC key. Once revoked, the key can no longer be used for authentication."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"revoke-workspace-rpc-key","name":"Revoke RPC key","isWebhook":false,"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Revoke RPC key","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Revoke a workspace RPC key. Once revoked, the key can no longer be used for authentication."},{"nodeType":"security","requirements":[{"schemes":[{"name":"Auth","scopes":["mgt:workspace:rpc_key:write"],"type":"apiKey","in":"header","paramName":"X-Api-Key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"workspace_id","in":"path","schemaId":"schema_282","description":"Unique identifier (UUID) of the workspace.","required":true},{"name":"key_id","in":"path","schemaId":"schema_282","description":"UUID of the key, as returned by the create or list endpoint for this resource. Not the raw secret.","required":true}],"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/workspaces/{workspace_id}/rpc/keys/{key_id}/actions/revoke","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[{"name":"workspace_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"},{"name":"key_id","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"components/schemas/UUID"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"Auth","type":"apiKey","name":"X-Api-Key","in":"header"}],"scopes":["mgt:workspace:rpc_key:write"]}],"responseCodes":["204","400","401","403","404","default"],"pointer":"/workspaces/{workspace_id}/rpc/keys/{key_id}/actions/revoke","href":"rpc_key/revoke-workspace-rpc-key","openApiOperationId":"revoke-workspace-rpc-key","summary":"Revoke RPC key"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Successful operation with no response body."},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"401","description":"Missing or invalid authentication credentials.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}},"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials"]},{"code":"403","description":"Insufficient permissions.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}},"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]},{"code":"404","description":"Requested resource does not exist.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found"]}},"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"401","schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/UnauthorizedProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials"]}}},{"code":"403","schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/ForbiddenProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"]}}},{"code":"404","schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/NotFoundProblem","exampleIds":["paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found","paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/rpc_key/revoke-workspace-rpc-key"}],"panels":[]}]},"httpPath":"/workspaces/{workspace_id}/rpc/keys/{key_id}/actions/revoke"}],"content":{"contentType":"group","meta":{"name":"rpc_key"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"RPC Keys","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Manage workspace-scoped RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") used to authenticate the blockchain JSON-RPC gateway ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rpc.vilna.io"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). The raw secret is returned only in the create response."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/workspaces/{workspace_id}/rpc/keys","summary":"List RPC keys","prefix":{"name":"get","color":"get"},"badges":[],"link":"/rpc_key/list-workspace-rpc-keys","deprecated":false},{"title":"/workspaces/{workspace_id}/rpc/keys","summary":"Create RPC key","prefix":{"name":"post","color":"post"},"badges":[],"link":"/rpc_key/create-workspace-rpc-key","deprecated":false},{"title":"/workspaces/{workspace_id}/rpc/keys/{key_id}","summary":"Get RPC key","prefix":{"name":"get","color":"get"},"badges":[],"link":"/rpc_key/get-workspace-rpc-key","deprecated":false},{"title":"/workspaces/{workspace_id}/rpc/keys/{key_id}/actions/revoke","summary":"Revoke RPC key","prefix":{"name":"post","color":"post"},"badges":[],"link":"/rpc_key/revoke-workspace-rpc-key","deprecated":false}]}]}]}]}},{"type":"separator","label":"Developer Tools","content":null},{"type":"group","label":"Version","link":"/apis/mgmt/api/version","routeSlug":"/apis/mgmt/api/version","items":[{"label":"Get service version","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/mgmt/api/version/get-version","routeSlug":"/apis/mgmt/api/version/get-version","metadata":{"seo":{"title":"Get service version","description":"Return the current API version."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-version","name":"Get service version","isWebhook":false,"pointer":"/paths/~1version/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get service version","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Return the current API version."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/version","servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","400","default"],"pointer":"/version","href":"version/get-version","openApiOperationId":"get-version","summary":"Get service version"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/mgmt/api","description":"Mock server","isMockServer":true},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Service version info.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/VersionInfo"}},"schemaId":"components/schemas/VersionInfo"},{"code":"400","description":"Bad request (e.g., missing or invalid fields).","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1version/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1version/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1version/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}},"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1version/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1version/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1version/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]},{"code":"default","description":"Unexpected error.","mediaType":"application/problem+json","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}},"schemaId":"components/schemas/Problem"}],"pointer":"/paths/~1version/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/VersionInfo","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/VersionInfo"}}},{"code":"400","schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1version/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1version/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1version/get/responses/400/content/application~1problem+json/examples/invalid_pagination"],"mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/InvalidRequestProblem","exampleIds":["paths/~1version/get/responses/400/content/application~1problem+json/examples/name_too_long","paths/~1version/get/responses/400/content/application~1problem+json/examples/invalid_role","paths/~1version/get/responses/400/content/application~1problem+json/examples/invalid_pagination"]}}},{"code":"default","schemaId":"components/schemas/Problem","mediaTypes":["application/problem+json"],"mediaTypeContent":{"application/problem+json":{"schemaId":"components/schemas/Problem"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/version/get-version"}],"panels":[]}]},"httpPath":"/version"}],"content":{"contentType":"group","meta":{"name":"version"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Version","showPageActions":true},{"nodeType":"markdoc","content":"Service version information."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/version","summary":"Get service version","prefix":{"name":"get","color":"get"},"badges":[],"link":"/version/get-version","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/UUID":{"id":"components/schemas/UUID","kind":"json-schema","title":"UUID","data":{"type":"string","format":"uuid","description":"Unique identifier (UUID v4).","example":"550e8400-e29b-41d4-a716-446655440000"}},"components/schemas/WorkspaceRole":{"id":"components/schemas/WorkspaceRole","kind":"json-schema","title":"WorkspaceRole","data":{"type":"string","enum":["owner","admin","member"],"description":"Role assigned to a user within a workspace.","x-enumDescriptions":{"owner":"Workspace creator; full admin rights plus deleting or transferring the workspace. Only one per workspace, and never assignable via invitation or role change.","admin":"Manages members, projects, invitations, and keys; implicit access to every project in the workspace.","member":"Read-only at workspace level; project access requires an explicit grant."},"example":"admin"}},"components/schemas/ProblemType":{"id":"components/schemas/ProblemType","kind":"json-schema","title":"ProblemType","data":{"type":"string","format":"uri","description":"A URI that identifies the error type.\nOpen it in a browser to read about this category of error.\n","example":"https://docs.vilna.io/apis/problems/internal-error"}},"components/schemas/ProblemTitle":{"id":"components/schemas/ProblemTitle","kind":"json-schema","title":"ProblemTitle","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A short summary of the error type."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"detail"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for information specific to this occurrence."},"children":[]}]}]}],"example":"Bad Request"}},"components/schemas/ProblemStatus":{"id":"components/schemas/ProblemStatus","kind":"json-schema","title":"ProblemStatus","data":{"type":"integer","description":"The HTTP status code for this error.\nMatches the status code of the HTTP response.\n","example":400}},"components/schemas/ProblemDetail":{"id":"components/schemas/ProblemDetail","kind":"json-schema","title":"ProblemDetail","data":{"type":"string","description":"A human-readable explanation of what went wrong in this specific case.\nMay be localized.\n","example":"The address is already assigned to another invoice"}},"components/schemas/ProblemInstance":{"id":"components/schemas/ProblemInstance","kind":"json-schema","title":"ProblemInstance","data":{"type":"string","description":"A URI that identifies this specific error occurrence.\nInclude this value when contacting support.\n","example":"/errors?id=XXXXXX-xxxxx"}},"components/schemas/ProblemCode":{"id":"components/schemas/ProblemCode","kind":"json-schema","title":"ProblemCode","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Stable machine-readable error code ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{domain}.{reason}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") for programmatic error handling. Unlike the HTTP "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or free-form "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"detail"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", this code is guaranteed not to change between versions for a given error condition, so it is safe to branch on in client code. Defaults to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"unspecified"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the server has not assigned a specific code."},"children":[]}]}]}],"default":"unspecified","example":"resource.not_found"}},"components/schemas/Problem":{"id":"components/schemas/Problem","kind":"json-schema","title":"Problem","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error response following "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/rfc/rfc7807.txt"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC 7807"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Served with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Content-Type: application/problem+json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". All error responses use this format; branch on "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for programmatic handling and surface "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"detail"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to end users."},"children":[]}]}]}],"required":["type","title","status","code"],"properties":{"type":{"$ref":"#/components/schemas/ProblemType"},"title":{"$ref":"#/components/schemas/ProblemTitle"},"status":{"$ref":"#/components/schemas/ProblemStatus"},"detail":{"$ref":"#/components/schemas/ProblemDetail"},"instance":{"$ref":"#/components/schemas/ProblemInstance"},"code":{"$ref":"#/components/schemas/ProblemCode"}}}},"components/schemas/Email":{"id":"components/schemas/Email","kind":"json-schema","title":"Email","data":{"type":"string","format":"email","maxLength":128,"description":"Email address.","example":"user@example.com"}},"components/schemas/User":{"id":"components/schemas/User","kind":"json-schema","title":"User","data":{"type":"object","description":"A workspace participant. Mirrors a Kratos identity.","required":["id","email"],"properties":{"id":{"description":"User UUID.","$ref":"#/components/schemas/UUID"},"email":{"$ref":"#/components/schemas/Email"},"first_name":{"type":"string","description":"Given name from identity traits.","example":"John"},"last_name":{"type":"string","description":"Family name from identity traits.","example":"Doe"},"avatar":{"type":"string","format":"uri","description":"Absolute http(s) URL to the user's profile image.","example":"https://cdn.vilna.io/avatars/0193d4a1.jpg"}},"example":{"id":"0193d4a1-8f03-7e30-b4c5-6d7e8f901234","email":"john@example.com","first_name":"John","last_name":"Doe","avatar":"https://cdn.vilna.io/avatars/0193d4a1.jpg"}}},"components/schemas/WorkspaceMember":{"id":"components/schemas/WorkspaceMember","kind":"json-schema","title":"WorkspaceMember","data":{"type":"object","description":"An accepted workspace member.","required":["user","role","joined_at"],"properties":{"user":{"$ref":"#/components/schemas/User"},"role":{"$ref":"#/components/schemas/WorkspaceRole"},"joined_at":{"type":"string","format":"date-time","description":"Timestamp when the member joined the workspace.","example":"2024-01-15T10:30:00Z"}},"example":{"user":{"id":"0193d4a1-8f03-7e30-b4c5-6d7e8f901234","email":"user@example.com","first_name":"John","last_name":"Doe","avatar":"https://cdn.vilna.io/avatars/0193d4a1.jpg"},"role":"admin","joined_at":"2024-01-15T10:30:00Z"}}},"components/schemas/PaginationMeta":{"id":"components/schemas/PaginationMeta","kind":"json-schema","title":"PaginationMeta","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination metadata returned on every list response. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"page"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" echo the values used to build this page (defaults are applied when the request omits them). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"total_pages"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" reflect the full result set after any filters are applied."},"children":[]}]}]}],"properties":{"limit":{"description":"Page size used to build this response.","type":"integer","format":"uint","minimum":1},"page":{"description":"Index of the page returned, starting at 1.","type":"integer","format":"uint","minimum":1},"total":{"description":"Total number of items matching the request across all pages.","type":"integer","format":"uint","minimum":0},"total_pages":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total number of pages available at the current "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"type":"integer","format":"uint","minimum":0}},"required":["total","page","limit","total_pages"],"example":{"limit":20,"page":1,"total":42,"total_pages":3}}},"components/schemas/InvalidRequestProblem":{"id":"components/schemas/InvalidRequestProblem","kind":"json-schema","title":"InvalidRequestProblem","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Problem details for invalid request errors (400 Bad Request)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Extends base Problem with field-specific validation error details"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"following "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/rfc/rfc7807.txt"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC 7807"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","title","status","code"],"properties":{"type":{"$ref":"#/components/schemas/ProblemType","example":"https://docs.vilna.io/apis/problems/invalid-request"},"title":{"$ref":"#/components/schemas/ProblemTitle","example":"Invalid Request"},"status":{"$ref":"#/components/schemas/ProblemStatus","example":400},"detail":{"$ref":"#/components/schemas/ProblemDetail","example":"Validation error"},"instance":{"$ref":"#/components/schemas/ProblemInstance"},"code":{"$ref":"#/components/schemas/ProblemCode","example":"blockchain.name_too_long"},"fields":{"type":"array","description":"List of invalid fields in the request","items":{"type":"object","required":["name","reason"],"properties":{"name":{"type":"string","description":"The name of the invalid field","example":"meta"},"reason":{"type":"string","description":"Why this field is invalid","example":"Exceeded maximum data size — must not exceed 1000 characters"}}}}}}},"components/schemas/UnauthorizedProblem":{"id":"components/schemas/UnauthorizedProblem","kind":"json-schema","title":"UnauthorizedProblem","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Standard problem response when authentication is missing or invalid,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"following "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/rfc/rfc7807.txt"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC 7807"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","title","status","code"],"properties":{"type":{"$ref":"#/components/schemas/ProblemType","example":"https://docs.vilna.io/apis/problems/unauthorized"},"title":{"$ref":"#/components/schemas/ProblemTitle","example":"Unauthorized"},"status":{"$ref":"#/components/schemas/ProblemStatus","example":401},"detail":{"$ref":"#/components/schemas/ProblemDetail","example":"Missing or invalid authentication credentials"},"instance":{"$ref":"#/components/schemas/ProblemInstance"},"code":{"$ref":"#/components/schemas/ProblemCode","example":"auth.unauthorized"}}}},"components/schemas/ForbiddenProblem":{"id":"components/schemas/ForbiddenProblem","kind":"json-schema","title":"ForbiddenProblem","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Standard problem response when the authenticated user lacks permission"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to access the requested resource, following "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/rfc/rfc7807.txt"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC 7807"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","title","status","code"],"properties":{"type":{"$ref":"#/components/schemas/ProblemType","example":"https://docs.vilna.io/apis/problems/forbidden"},"title":{"$ref":"#/components/schemas/ProblemTitle","example":"Forbidden"},"status":{"$ref":"#/components/schemas/ProblemStatus","example":403},"detail":{"$ref":"#/components/schemas/ProblemDetail","example":"You do not have permission to perform this action"},"instance":{"$ref":"#/components/schemas/ProblemInstance"},"code":{"$ref":"#/components/schemas/ProblemCode","example":"chain.not_allowed"}}}},"components/schemas/NotFoundProblem":{"id":"components/schemas/NotFoundProblem","kind":"json-schema","title":"NotFoundProblem","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Problem details for not found errors (404 Not Found)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Standard problem response when requested resource does not exist"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"following "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/rfc/rfc7807.txt"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC 7807"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","title","status","code"],"properties":{"type":{"$ref":"#/components/schemas/ProblemType","example":"https://docs.vilna.io/apis/problems/not-found"},"title":{"$ref":"#/components/schemas/ProblemTitle","example":"Not Found"},"status":{"$ref":"#/components/schemas/ProblemStatus","example":404},"detail":{"$ref":"#/components/schemas/ProblemDetail","example":"The requested resource was not found"},"instance":{"$ref":"#/components/schemas/ProblemInstance"},"code":{"$ref":"#/components/schemas/ProblemCode","example":"blockchain.not_found"}}}},"components/schemas/AssignableWorkspaceRole":{"id":"components/schemas/AssignableWorkspaceRole","kind":"json-schema","title":"AssignableWorkspaceRole","data":{"type":"string","enum":["admin","member"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Subset of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WorkspaceRole"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" that can be assigned to a member: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"admin"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"owner"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is excluded; it's set when a workspace is created and can't be granted afterwards. Used for invitations and member role changes."},"children":[]}]}]}],"x-enumDescriptions":{"admin":"Manages members, projects, invitations, and keys; implicit access to every project in the workspace.","member":"Read-only at workspace level; project access requires an explicit grant."},"example":"admin"}},"components/schemas/PreconditionProblem":{"id":"components/schemas/PreconditionProblem","kind":"json-schema","title":"PreconditionProblem","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Problem details for precondition failed errors (422 Unprocessable Entity)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Standard problem response when request cannot be processed due to failed"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"business rule validation following "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/rfc/rfc7807.txt"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC 7807"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","title","status","code"],"properties":{"type":{"$ref":"#/components/schemas/ProblemType","example":"https://docs.vilna.io/apis/problems/precondition-failed"},"title":{"$ref":"#/components/schemas/ProblemTitle","example":"Precondition Failed"},"status":{"$ref":"#/components/schemas/ProblemStatus","example":422},"detail":{"$ref":"#/components/schemas/ProblemDetail","example":"The request cannot be processed due to failed business rule validation"},"instance":{"$ref":"#/components/schemas/ProblemInstance"},"code":{"$ref":"#/components/schemas/ProblemCode","example":"simulation.failed"},"fields":{"type":"array","description":"List of fields that failed precondition validation","items":{"type":"object","required":["name","reason"],"properties":{"name":{"type":"string","description":"The name of the field that failed validation","example":"status"},"reason":{"type":"string","description":"Why the precondition failed for this field","example":"Cannot transition from archived to active state"}}}}}}},"components/schemas/InvitationStatus":{"id":"components/schemas/InvitationStatus","kind":"json-schema","title":"InvitationStatus","data":{"type":"string","enum":["pending","accepted","declined","revoked","expired"],"description":"Current invitation lifecycle status.","x-enumDescriptions":{"pending":"Invitation is awaiting a response.","accepted":"Invitation was accepted and the workspace membership was created.","declined":"Invitation was declined by the invitee.","revoked":"Invitation was cancelled by a workspace admin.","expired":"Invitation was not answered before its expiration time."},"example":"pending"}},"components/schemas/WorkspaceName":{"id":"components/schemas/WorkspaceName","kind":"json-schema","title":"WorkspaceName","data":{"type":"string","maxLength":32,"description":"Human-readable workspace name.","example":"My Workspace"}},"components/schemas/CreatedAt":{"id":"components/schemas/CreatedAt","kind":"json-schema","title":"CreatedAt","data":{"description":"Timestamp when the resource was created. RFC 3339 / ISO 8601, UTC.","format":"date-time","type":"string","example":"2024-01-15T10:30:00Z"}},"components/schemas/WorkspaceSummary":{"id":"components/schemas/WorkspaceSummary","kind":"json-schema","title":"WorkspaceSummary","data":{"type":"object","description":"Basic workspace info used when referencing a workspace from another resource.","required":["id","name","created_at"],"properties":{"id":{"description":"Unique workspace identifier.","$ref":"#/components/schemas/UUID"},"name":{"$ref":"#/components/schemas/WorkspaceName"},"created_at":{"$ref":"#/components/schemas/CreatedAt"}},"example":{"id":"550e8400-e29b-41d4-a716-446655440000","name":"Acme Inc","created_at":"2024-01-15T10:30:00Z"}}},"components/schemas/ExpiresAt":{"id":"components/schemas/ExpiresAt","kind":"json-schema","title":"ExpiresAt","data":{"description":"Timestamp when the resource expires. RFC 3339 / ISO 8601, UTC. Absent if the resource never expires.","format":"date-time","type":"string","example":"2025-01-15T10:30:00Z"}},"components/schemas/ProjectName":{"id":"components/schemas/ProjectName","kind":"json-schema","title":"ProjectName","data":{"type":"string","maxLength":32,"description":"Human-readable project name.","example":"Production"}},"components/schemas/ProjectSummary":{"id":"components/schemas/ProjectSummary","kind":"json-schema","title":"ProjectSummary","data":{"type":"object","description":"Basic project info used when referencing a project from another resource.","required":["id","name","created_at"],"properties":{"id":{"description":"Unique project identifier.","$ref":"#/components/schemas/UUID"},"name":{"$ref":"#/components/schemas/ProjectName"},"created_at":{"$ref":"#/components/schemas/CreatedAt"}},"example":{"id":"0193d4a1-7e02-7d29-8d8a-3b0e5a7c8f12","name":"Production","created_at":"2024-01-15T10:30:00Z"}}},"components/schemas/ProjectRole":{"id":"components/schemas/ProjectRole","kind":"json-schema","title":"ProjectRole","data":{"type":"string","enum":["editor","viewer"],"description":"Project-level role for a workspace member.","x-enumDescriptions":{"editor":"Read and write access to project resources.","viewer":"Read-only access to project resources."},"example":"editor"}},"components/schemas/InvitationProjectGrant":{"id":"components/schemas/InvitationProjectGrant","kind":"json-schema","title":"InvitationProjectGrant","data":{"type":"object","description":"A project grant bundled with an invitation, applied on accept.","required":["project","role"],"properties":{"project":{"description":"Project the grant applies to.","$ref":"#/components/schemas/ProjectSummary"},"role":{"$ref":"#/components/schemas/ProjectRole"}},"example":{"project":{"id":"0193d4a1-7e02-7d29-8d8a-3b0e5a7c8f12","name":"Production","created_at":"2024-01-15T10:30:00Z"},"role":"viewer"}}},"components/schemas/Invitation":{"id":"components/schemas/Invitation","kind":"json-schema","title":"Invitation","data":{"type":"object","description":"A pending offer to join a workspace. An invitation can optionally bundle project grants. The invitee is identified by email because they may not have a Kratos account yet at the time the invitation is created.\n","required":["id","workspace","email","workspace_role","status","expires_at","created_at","project_grants"],"properties":{"id":{"description":"Unique invitation identifier.","$ref":"#/components/schemas/UUID"},"workspace":{"description":"Workspace the invitee is being added to.","$ref":"#/components/schemas/WorkspaceSummary"},"email":{"description":"Recipient email address.","$ref":"#/components/schemas/Email"},"workspace_role":{"$ref":"#/components/schemas/AssignableWorkspaceRole"},"status":{"$ref":"#/components/schemas/InvitationStatus"},"expires_at":{"$ref":"#/components/schemas/ExpiresAt"},"created_at":{"$ref":"#/components/schemas/CreatedAt"},"project_grants":{"type":"array","description":"Project grants to apply when the invitation is accepted. Empty for admins, who receive implicit access to every project.\n","items":{"$ref":"#/components/schemas/InvitationProjectGrant"}}},"example":{"id":"0193d4a1-7e02-7d29-a2b3-4c5d6e7f8901","workspace":{"id":"550e8400-e29b-41d4-a716-446655440000","name":"Acme Inc","created_at":"2024-01-15T10:30:00Z"},"email":"user@example.com","workspace_role":"member","status":"pending","expires_at":"2024-01-22T10:30:00Z","created_at":"2024-01-15T10:30:00Z","project_grants":[{"project":{"id":"0193d4a1-7e02-7d29-8d8a-3b0e5a7c8f12","name":"Production","created_at":"2024-01-15T10:30:00Z"},"role":"viewer"}]}}},"components/schemas/ConflictProblem":{"id":"components/schemas/ConflictProblem","kind":"json-schema","title":"ConflictProblem","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Problem details for conflict errors (409 Conflict)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Standard problem response when request conflicts with current server state"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"following "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://tools.ietf.org/rfc/rfc7807.txt"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RFC 7807"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","title","status","code"],"properties":{"type":{"$ref":"#/components/schemas/ProblemType","example":"https://docs.vilna.io/apis/problems/conflict"},"title":{"$ref":"#/components/schemas/ProblemTitle","example":"Conflict"},"status":{"$ref":"#/components/schemas/ProblemStatus","example":409},"detail":{"$ref":"#/components/schemas/ProblemDetail","example":"Resource already exists with the same identifier"},"instance":{"$ref":"#/components/schemas/ProblemInstance"},"code":{"$ref":"#/components/schemas/ProblemCode","example":"invoice.address_occupied"}}}},"components/schemas/RpcStatus":{"id":"components/schemas/RpcStatus","kind":"json-schema","title":"RpcStatus","data":{"type":"string","enum":["active","deleting"],"description":"Current lifecycle status of the RPC.","x-enumDescriptions":{"active":"RPC is operational.","deleting":"RPC is being deleted together with its workspace."},"example":"active"}},"components/schemas/UpdatedAt":{"id":"components/schemas/UpdatedAt","kind":"json-schema","title":"UpdatedAt","data":{"description":"Timestamp when the resource was last updated. RFC 3339 / ISO 8601, UTC.","format":"date-time","type":"string","example":"2024-01-15T10:30:00Z"}},"components/schemas/Rpc":{"id":"components/schemas/Rpc","kind":"json-schema","title":"Rpc","data":{"type":"object","description":"Workspace RPC access configuration. Provisioned automatically with every workspace and available to every workspace member. There is exactly one Rpc per workspace.\n","required":["id","workspace_id","status","created_at","updated_at"],"properties":{"id":{"description":"Unique RPC identifier.","$ref":"#/components/schemas/UUID"},"workspace_id":{"description":"Workspace this RPC belongs to.","$ref":"#/components/schemas/UUID"},"status":{"$ref":"#/components/schemas/RpcStatus"},"created_at":{"$ref":"#/components/schemas/CreatedAt"},"updated_at":{"$ref":"#/components/schemas/UpdatedAt"}},"example":{"id":"0193d4a1-7e02-7d29-9a1b-5c6d7e8f9012","workspace_id":"550e8400-e29b-41d4-a716-446655440000","status":"active","created_at":"2024-01-15T10:30:00Z","updated_at":"2024-01-15T10:30:00Z"}}},"components/schemas/KeyName":{"id":"components/schemas/KeyName","kind":"json-schema","title":"KeyName","data":{"type":"string","maxLength":32,"description":"Human-readable key name.","example":"Production key"}},"components/schemas/KeyPreview":{"id":"components/schemas/KeyPreview","kind":"json-schema","title":"KeyPreview","data":{"type":"string","minLength":6,"maxLength":6,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"First 6 characters of the random body, i.e. the 6 characters immediately after the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_{type}_"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" prefix. For raw key "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_a1B2c3D4e5F6g7H8i9J0k1L2m3N4o5"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" the preview is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"a1B2c3"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Safe to display in UIs for identifying a key without exposing the secret."},"children":[]}]}]}],"example":"a1B2c3"}},"components/schemas/RevokedAt":{"id":"components/schemas/RevokedAt","kind":"json-schema","title":"RevokedAt","data":{"description":"Timestamp when the resource was revoked. RFC 3339 / ISO 8601, UTC. Absent if the resource is active.","format":"date-time","type":"string","example":"2025-06-15T12:00:00Z"}},"components/schemas/LastUsedAt":{"id":"components/schemas/LastUsedAt","kind":"json-schema","title":"LastUsedAt","data":{"description":"Timestamp of the most recent successful authentication with this key. RFC 3339 / ISO 8601, UTC. Absent until the key has been used at least once.","format":"date-time","type":"string","example":"2025-06-15T12:00:00Z"}},"components/schemas/KeyBase":{"id":"components/schemas/KeyBase","kind":"json-schema","title":"KeyBase","data":{"type":"object","description":"Fields shared by all authentication key types.","required":["id","name","key_preview","permissions","created_at"],"properties":{"id":{"description":"Unique key identifier.","$ref":"#/components/schemas/UUID"},"name":{"$ref":"#/components/schemas/KeyName"},"key_preview":{"$ref":"#/components/schemas/KeyPreview"},"permissions":{"type":"array","items":{"type":"string"},"description":"Raw permission strings granted to the key."},"created_at":{"$ref":"#/components/schemas/CreatedAt"},"expires_at":{"$ref":"#/components/schemas/ExpiresAt"},"revoked_at":{"$ref":"#/components/schemas/RevokedAt"},"last_used_at":{"$ref":"#/components/schemas/LastUsedAt"}}}},"components/schemas/RPCPermission":{"id":"components/schemas/RPCPermission","kind":"json-schema","title":"RPCPermission","data":{"type":"string","description":"Permission for workspace-scoped RPC keys.","enum":["rpc:call"],"x-enumDescriptions":{"rpc:call":"Send JSON-RPC requests to blockchain nodes."},"example":"rpc:call"}},"components/schemas/RpcKey":{"id":"components/schemas/RpcKey","kind":"json-schema","title":"RpcKey","data":{"description":"A workspace-scoped RPC key. The raw secret is only shown at creation.","allOf":[{"$ref":"#/components/schemas/KeyBase"},{"type":"object","required":["workspace_id","permissions"],"properties":{"workspace_id":{"description":"Workspace this key is scoped to.","$ref":"#/components/schemas/UUID"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/RPCPermission"},"description":"Permissions granted to this key."}}}],"example":{"id":"0193d4a1-9f04-7e31-e7f8-901234567890","name":"RPC service key","key_preview":"a1B2c3","workspace_id":"550e8400-e29b-41d4-a716-446655440000","permissions":["rpc:call"],"created_at":"2024-01-15T10:30:00Z"}}},"components/schemas/RawKey":{"id":"components/schemas/RawKey","kind":"json-schema","title":"RawKey","data":{"type":"string","minLength":40,"maxLength":40,"pattern":"^vilna_(api|mgt|rpc)_[A-Za-z0-9]{30}$","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The full secret key, 40 characters: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_{type}_{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" where "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{type}"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"api"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mgt"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rpc"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{body}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is 30 base62 characters."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returned only in the create response; store it securely."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" The server"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"does not store the secret and cannot return it again; lost keys must be"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"revoked and re-created."},"children":[]}]}]}],"example":"vilna_api_a1B2c3D4e5F6g7H8i9J0k1L2m3N4o5"}},"components/schemas/RpcKeyCreated":{"id":"components/schemas/RpcKeyCreated","kind":"json-schema","title":"RpcKeyCreated","data":{"type":"object","description":"Envelope for a newly issued RPC key. Contains the raw secret shown only once.","required":["item","raw_key"],"properties":{"item":{"$ref":"#/components/schemas/RpcKey"},"raw_key":{"$ref":"#/components/schemas/RawKey"}}}},"components/schemas/LogEventType":{"id":"components/schemas/LogEventType","kind":"json-schema","title":"LogEventType","data":{"type":"string","description":"Discriminator for activity log event types.","enum":["workspace.created","workspace.renamed","workspace_member.joined","workspace_member.role_changed","workspace_member.removed","project.created","project.renamed","project.deleted","project_member.added","project_member.role_changed","project_member.removed","invitation.created","invitation.accepted","invitation.declined","invitation.revoked","invitation.expired","api_key.created","api_key.revoked","rpc_key.created","rpc_key.revoked","mgt_key.created","mgt_key.revoked"],"x-enumDescriptions":{"workspace.created":"Workspace was created.","workspace.renamed":"Workspace name was changed.","workspace_member.joined":"A user joined the workspace, either by accepting an invitation or as the owner at workspace creation.","workspace_member.role_changed":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A workspace member's role was changed ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"admin"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"member"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"workspace_member.removed":"A member was removed from the workspace.","project.created":"Project was created inside the workspace.","project.renamed":"Project name was changed.","project.deleted":"Project was deleted.","project_member.added":"A workspace member was granted access to a project.","project_member.role_changed":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A project member's role was changed ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"editor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"viewer"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"project_member.removed":"A member's project access was revoked.","invitation.created":"A workspace invitation was sent.","invitation.accepted":"Invitation was accepted by the invitee.","invitation.declined":"Invitation was declined by the invitee.","invitation.revoked":"Invitation was cancelled by a workspace admin.","invitation.expired":"Invitation was not answered before its expiration time.","api_key.created":"A project-scoped API key was created.","api_key.revoked":"An API key was revoked.","rpc_key.created":"A workspace-scoped RPC key was created.","rpc_key.revoked":"An RPC key was revoked.","mgt_key.created":"A workspace-scoped management key was created.","mgt_key.revoked":"A management key was revoked."},"example":"workspace.created"}},"components/schemas/WorkspaceCreatedEventData":{"id":"components/schemas/WorkspaceCreatedEventData","kind":"json-schema","title":"WorkspaceCreatedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"workspace.created"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","workspace_id","workspace_name"],"properties":{"type":{"type":"string","enum":["workspace.created"]},"workspace_id":{"$ref":"#/components/schemas/UUID"},"workspace_name":{"type":"string","description":"Workspace name at the time of the event.","example":"My Workspace"}}}},"components/schemas/WorkspaceRenamedEventData":{"id":"components/schemas/WorkspaceRenamedEventData","kind":"json-schema","title":"WorkspaceRenamedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"workspace.renamed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","workspace_id","old_name","new_name"],"properties":{"type":{"type":"string","enum":["workspace.renamed"]},"workspace_id":{"$ref":"#/components/schemas/UUID"},"old_name":{"type":"string","description":"Workspace name before the rename.","example":"Old Name"},"new_name":{"type":"string","description":"Workspace name after the rename.","example":"New Name"}}}},"components/schemas/WorkspaceMemberJoinedEventData":{"id":"components/schemas/WorkspaceMemberJoinedEventData","kind":"json-schema","title":"WorkspaceMemberJoinedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"workspace_member.joined"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","user_id","role"],"properties":{"type":{"type":"string","enum":["workspace_member.joined"]},"user_id":{"$ref":"#/components/schemas/UUID"},"role":{"$ref":"#/components/schemas/WorkspaceRole"}}}},"components/schemas/WorkspaceMemberRoleChangedEventData":{"id":"components/schemas/WorkspaceMemberRoleChangedEventData","kind":"json-schema","title":"WorkspaceMemberRoleChangedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"workspace_member.role_changed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","user_id","old_role","new_role"],"properties":{"type":{"type":"string","enum":["workspace_member.role_changed"]},"user_id":{"$ref":"#/components/schemas/UUID"},"old_role":{"$ref":"#/components/schemas/WorkspaceRole"},"new_role":{"$ref":"#/components/schemas/WorkspaceRole"}}}},"components/schemas/WorkspaceMemberRemovedEventData":{"id":"components/schemas/WorkspaceMemberRemovedEventData","kind":"json-schema","title":"WorkspaceMemberRemovedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"workspace_member.removed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","user_id","role"],"properties":{"type":{"type":"string","enum":["workspace_member.removed"]},"user_id":{"$ref":"#/components/schemas/UUID"},"role":{"$ref":"#/components/schemas/WorkspaceRole"}}}},"components/schemas/ProjectCreatedEventData":{"id":"components/schemas/ProjectCreatedEventData","kind":"json-schema","title":"ProjectCreatedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project.created"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","project_id","project_name"],"properties":{"type":{"type":"string","enum":["project.created"]},"project_id":{"$ref":"#/components/schemas/UUID"},"project_name":{"type":"string","description":"Project name at the time of the event.","example":"Production"}}}},"components/schemas/ProjectRenamedEventData":{"id":"components/schemas/ProjectRenamedEventData","kind":"json-schema","title":"ProjectRenamedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project.renamed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","project_id","old_name","new_name"],"properties":{"type":{"type":"string","enum":["project.renamed"]},"project_id":{"$ref":"#/components/schemas/UUID"},"old_name":{"type":"string","description":"Project name before the rename.","example":"Old"},"new_name":{"type":"string","description":"Project name after the rename.","example":"New"}}}},"components/schemas/ProjectDeletedEventData":{"id":"components/schemas/ProjectDeletedEventData","kind":"json-schema","title":"ProjectDeletedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project.deleted"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","project_id","project_name"],"properties":{"type":{"type":"string","enum":["project.deleted"]},"project_id":{"$ref":"#/components/schemas/UUID"},"project_name":{"type":"string","description":"Project name at the time of deletion.","example":"Production"}}}},"components/schemas/ProjectMemberAddedEventData":{"id":"components/schemas/ProjectMemberAddedEventData","kind":"json-schema","title":"ProjectMemberAddedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project_member.added"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","project_id","user_id","role"],"properties":{"type":{"type":"string","enum":["project_member.added"]},"project_id":{"$ref":"#/components/schemas/UUID"},"user_id":{"$ref":"#/components/schemas/UUID"},"role":{"$ref":"#/components/schemas/ProjectRole"}}}},"components/schemas/ProjectMemberRoleChangedEventData":{"id":"components/schemas/ProjectMemberRoleChangedEventData","kind":"json-schema","title":"ProjectMemberRoleChangedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project_member.role_changed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","project_id","user_id","old_role","new_role"],"properties":{"type":{"type":"string","enum":["project_member.role_changed"]},"project_id":{"$ref":"#/components/schemas/UUID"},"user_id":{"$ref":"#/components/schemas/UUID"},"old_role":{"$ref":"#/components/schemas/ProjectRole"},"new_role":{"$ref":"#/components/schemas/ProjectRole"}}}},"components/schemas/ProjectMemberRemovedEventData":{"id":"components/schemas/ProjectMemberRemovedEventData","kind":"json-schema","title":"ProjectMemberRemovedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project_member.removed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","project_id","user_id","role"],"properties":{"type":{"type":"string","enum":["project_member.removed"]},"project_id":{"$ref":"#/components/schemas/UUID"},"user_id":{"$ref":"#/components/schemas/UUID"},"role":{"$ref":"#/components/schemas/ProjectRole"}}}},"components/schemas/InvitationCreatedEventData":{"id":"components/schemas/InvitationCreatedEventData","kind":"json-schema","title":"InvitationCreatedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invitation.created"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","invitation_id","recipient_email","workspace_role"],"properties":{"type":{"type":"string","enum":["invitation.created"]},"invitation_id":{"$ref":"#/components/schemas/UUID"},"recipient_email":{"$ref":"#/components/schemas/Email"},"workspace_role":{"$ref":"#/components/schemas/AssignableWorkspaceRole"},"project_grants":{"type":"array","description":"Bundled project grants the invitation will apply on accept.","items":{"$ref":"#/components/schemas/InvitationProjectGrant"}}}}},"components/schemas/InvitationAcceptedEventData":{"id":"components/schemas/InvitationAcceptedEventData","kind":"json-schema","title":"InvitationAcceptedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invitation.accepted"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","invitation_id","recipient_id"],"properties":{"type":{"type":"string","enum":["invitation.accepted"]},"invitation_id":{"$ref":"#/components/schemas/UUID"},"recipient_id":{"$ref":"#/components/schemas/UUID"}}}},"components/schemas/InvitationDeclinedEventData":{"id":"components/schemas/InvitationDeclinedEventData","kind":"json-schema","title":"InvitationDeclinedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invitation.declined"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","invitation_id","recipient_id"],"properties":{"type":{"type":"string","enum":["invitation.declined"]},"invitation_id":{"$ref":"#/components/schemas/UUID"},"recipient_id":{"$ref":"#/components/schemas/UUID"}}}},"components/schemas/InvitationRevokedEventData":{"id":"components/schemas/InvitationRevokedEventData","kind":"json-schema","title":"InvitationRevokedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invitation.revoked"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","invitation_id","recipient_email"],"properties":{"type":{"type":"string","enum":["invitation.revoked"]},"invitation_id":{"$ref":"#/components/schemas/UUID"},"recipient_email":{"$ref":"#/components/schemas/Email"}}}},"components/schemas/InvitationExpiredEventData":{"id":"components/schemas/InvitationExpiredEventData","kind":"json-schema","title":"InvitationExpiredEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"invitation.expired"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","invitation_id","recipient_email"],"properties":{"type":{"type":"string","enum":["invitation.expired"]},"invitation_id":{"$ref":"#/components/schemas/UUID"},"recipient_email":{"$ref":"#/components/schemas/Email"}}}},"components/schemas/ApiKeyCreatedEventData":{"id":"components/schemas/ApiKeyCreatedEventData","kind":"json-schema","title":"ApiKeyCreatedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"api_key.created"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","key_id","project_id","key_name","key_preview"],"properties":{"type":{"type":"string","enum":["api_key.created"]},"key_id":{"$ref":"#/components/schemas/UUID"},"project_id":{"$ref":"#/components/schemas/UUID"},"key_name":{"$ref":"#/components/schemas/KeyName"},"key_preview":{"$ref":"#/components/schemas/KeyPreview"}}}},"components/schemas/ApiKeyRevokedEventData":{"id":"components/schemas/ApiKeyRevokedEventData","kind":"json-schema","title":"ApiKeyRevokedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"api_key.revoked"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","key_id","project_id","key_name","key_preview"],"properties":{"type":{"type":"string","enum":["api_key.revoked"]},"key_id":{"$ref":"#/components/schemas/UUID"},"project_id":{"$ref":"#/components/schemas/UUID"},"key_name":{"$ref":"#/components/schemas/KeyName"},"key_preview":{"$ref":"#/components/schemas/KeyPreview"}}}},"components/schemas/RpcKeyCreatedEventData":{"id":"components/schemas/RpcKeyCreatedEventData","kind":"json-schema","title":"RpcKeyCreatedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rpc_key.created"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","key_id","key_name","key_preview"],"properties":{"type":{"type":"string","enum":["rpc_key.created"]},"key_id":{"$ref":"#/components/schemas/UUID"},"key_name":{"$ref":"#/components/schemas/KeyName"},"key_preview":{"$ref":"#/components/schemas/KeyPreview"}}}},"components/schemas/RpcKeyRevokedEventData":{"id":"components/schemas/RpcKeyRevokedEventData","kind":"json-schema","title":"RpcKeyRevokedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rpc_key.revoked"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","key_id","key_name","key_preview"],"properties":{"type":{"type":"string","enum":["rpc_key.revoked"]},"key_id":{"$ref":"#/components/schemas/UUID"},"key_name":{"$ref":"#/components/schemas/KeyName"},"key_preview":{"$ref":"#/components/schemas/KeyPreview"}}}},"components/schemas/MgtKeyCreatedEventData":{"id":"components/schemas/MgtKeyCreatedEventData","kind":"json-schema","title":"MgtKeyCreatedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mgt_key.created"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","key_id","key_name","key_preview"],"properties":{"type":{"type":"string","enum":["mgt_key.created"]},"key_id":{"$ref":"#/components/schemas/UUID"},"key_name":{"$ref":"#/components/schemas/KeyName"},"key_preview":{"$ref":"#/components/schemas/KeyPreview"}}}},"components/schemas/MgtKeyRevokedEventData":{"id":"components/schemas/MgtKeyRevokedEventData","kind":"json-schema","title":"MgtKeyRevokedEventData","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Payload for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mgt_key.revoked"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["type","key_id","key_name","key_preview"],"properties":{"type":{"type":"string","enum":["mgt_key.revoked"]},"key_id":{"$ref":"#/components/schemas/UUID"},"key_name":{"$ref":"#/components/schemas/KeyName"},"key_preview":{"$ref":"#/components/schemas/KeyPreview"}}}},"components/schemas/LogEvent":{"id":"components/schemas/LogEvent","kind":"json-schema","title":"LogEvent","data":{"type":"object","description":"An entry in the workspace activity feed. Each entry carries a denormalized snapshot of the referenced entities so the feed remains intelligible after those entities are renamed or deleted.\n","required":["workspace_id","type","data","created_at"],"properties":{"workspace_id":{"description":"Workspace the event belongs to.","$ref":"#/components/schemas/UUID"},"actor_id":{"description":"User UUID that produced the event. Absent for system-emitted events.","$ref":"#/components/schemas/UUID"},"type":{"$ref":"#/components/schemas/LogEventType"},"data":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Event-specific payload. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field inside the payload echoes the top-level "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and acts as the discriminator; switch on it to get a typed "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" shape (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"project.renamed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{ old_name, new_name, ... }"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Payload shapes are documented per event type in this schema."},"children":[]}]}]}],"oneOf":[{"$ref":"#/components/schemas/WorkspaceCreatedEventData"},{"$ref":"#/components/schemas/WorkspaceRenamedEventData"},{"$ref":"#/components/schemas/WorkspaceMemberJoinedEventData"},{"$ref":"#/components/schemas/WorkspaceMemberRoleChangedEventData"},{"$ref":"#/components/schemas/WorkspaceMemberRemovedEventData"},{"$ref":"#/components/schemas/ProjectCreatedEventData"},{"$ref":"#/components/schemas/ProjectRenamedEventData"},{"$ref":"#/components/schemas/ProjectDeletedEventData"},{"$ref":"#/components/schemas/ProjectMemberAddedEventData"},{"$ref":"#/components/schemas/ProjectMemberRoleChangedEventData"},{"$ref":"#/components/schemas/ProjectMemberRemovedEventData"},{"$ref":"#/components/schemas/InvitationCreatedEventData"},{"$ref":"#/components/schemas/InvitationAcceptedEventData"},{"$ref":"#/components/schemas/InvitationDeclinedEventData"},{"$ref":"#/components/schemas/InvitationRevokedEventData"},{"$ref":"#/components/schemas/InvitationExpiredEventData"},{"$ref":"#/components/schemas/ApiKeyCreatedEventData"},{"$ref":"#/components/schemas/ApiKeyRevokedEventData"},{"$ref":"#/components/schemas/RpcKeyCreatedEventData"},{"$ref":"#/components/schemas/RpcKeyRevokedEventData"},{"$ref":"#/components/schemas/MgtKeyCreatedEventData"},{"$ref":"#/components/schemas/MgtKeyRevokedEventData"}],"discriminator":{"propertyName":"type","mapping":{"workspace.created":"#/components/schemas/WorkspaceCreatedEventData","workspace.renamed":"#/components/schemas/WorkspaceRenamedEventData","workspace_member.joined":"#/components/schemas/WorkspaceMemberJoinedEventData","workspace_member.role_changed":"#/components/schemas/WorkspaceMemberRoleChangedEventData","workspace_member.removed":"#/components/schemas/WorkspaceMemberRemovedEventData","project.created":"#/components/schemas/ProjectCreatedEventData","project.renamed":"#/components/schemas/ProjectRenamedEventData","project.deleted":"#/components/schemas/ProjectDeletedEventData","project_member.added":"#/components/schemas/ProjectMemberAddedEventData","project_member.role_changed":"#/components/schemas/ProjectMemberRoleChangedEventData","project_member.removed":"#/components/schemas/ProjectMemberRemovedEventData","invitation.created":"#/components/schemas/InvitationCreatedEventData","invitation.accepted":"#/components/schemas/InvitationAcceptedEventData","invitation.declined":"#/components/schemas/InvitationDeclinedEventData","invitation.revoked":"#/components/schemas/InvitationRevokedEventData","invitation.expired":"#/components/schemas/InvitationExpiredEventData","api_key.created":"#/components/schemas/ApiKeyCreatedEventData","api_key.revoked":"#/components/schemas/ApiKeyRevokedEventData","rpc_key.created":"#/components/schemas/RpcKeyCreatedEventData","rpc_key.revoked":"#/components/schemas/RpcKeyRevokedEventData","mgt_key.created":"#/components/schemas/MgtKeyCreatedEventData","mgt_key.revoked":"#/components/schemas/MgtKeyRevokedEventData"}}},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the event was emitted.","example":"2024-01-15T10:30:00Z"}}}},"components/schemas/LogEventReferences":{"id":"components/schemas/LogEventReferences","kind":"json-schema","title":"LogEventReferences","data":{"type":"object","description":"Entities referenced by events in this page, keyed by ID.","required":["users"],"properties":{"users":{"type":"object","description":"Users referenced by events in this page, keyed by user ID.","propertyNames":{"$ref":"#/components/schemas/UUID"},"additionalProperties":{"$ref":"#/components/schemas/User"}}},"example":{"users":{}}}},"components/schemas/ProjectStatus":{"id":"components/schemas/ProjectStatus","kind":"json-schema","title":"ProjectStatus","data":{"type":"string","enum":["active","deleting"],"description":"Current lifecycle status of the project.","x-enumDescriptions":{"active":"Project is operational.","deleting":"Project is being deleted. Mutations are rejected; reads may still return the record until cleanup finishes."},"example":"active"}},"components/schemas/Project":{"id":"components/schemas/Project","kind":"json-schema","title":"Project","data":{"type":"object","description":"A project within a workspace. Projects scope API keys and member grants.","required":["id","workspace_id","name","status","created_at","updated_at"],"properties":{"id":{"description":"Unique project identifier.","$ref":"#/components/schemas/UUID"},"workspace_id":{"description":"Workspace this project belongs to.","$ref":"#/components/schemas/UUID"},"name":{"$ref":"#/components/schemas/ProjectName"},"status":{"$ref":"#/components/schemas/ProjectStatus"},"created_at":{"$ref":"#/components/schemas/CreatedAt"},"updated_at":{"$ref":"#/components/schemas/UpdatedAt"}},"example":{"id":"0193d4a1-7e02-7d29-8d8a-3b0e5a7c8f12","workspace_id":"550e8400-e29b-41d4-a716-446655440000","name":"Production","status":"active","created_at":"2024-01-15T10:30:00Z","updated_at":"2024-01-15T10:30:00Z"}}},"components/schemas/ProjectMember":{"id":"components/schemas/ProjectMember","kind":"json-schema","title":"ProjectMember","data":{"type":"object","description":"A workspace member's explicit role assignment within a specific project. Workspace admins have implicit access to every project and are not listed.\n","required":["user","role","granted_at"],"properties":{"user":{"$ref":"#/components/schemas/User"},"role":{"$ref":"#/components/schemas/ProjectRole"},"granted_at":{"type":"string","format":"date-time","description":"Timestamp when the grant was issued.","example":"2024-01-15T10:30:00Z"}},"example":{"user":{"id":"0193d4a1-8f03-7e30-b4c5-6d7e8f901234","email":"user@example.com","first_name":"John","last_name":"Doe","avatar":"https://cdn.vilna.io/avatars/0193d4a1.jpg"},"role":"editor","granted_at":"2024-01-15T10:30:00Z"}}},"components/schemas/APIPermission":{"id":"components/schemas/APIPermission","kind":"json-schema","title":"APIPermission","data":{"type":"string","description":"Permission for project-scoped API keys.","enum":["api:address:read","api:address:write","api:address:delete","api:transaction:read","api:blockchain:read","api:balance:read","api:asset:read","api:asset:write","api:simulate:call","api:subscription:read","api:subscription:write","api:subscription:delete","api:channel:read","api:channel:write","api:channel:delete","api:public_key:read","api:public_key:write","api:public_key:delete","api:invoice:read","api:invoice:write","api:invoice:delete","api:token_tag:read","api:token_tag:write","api:token_tag:delete","api:address_tag:read","api:address_tag:write","api:address_tag:delete"],"x-enumDescriptions":{"api:address:read":"List and view tracked addresses.","api:address:write":"Import and update addresses.","api:address:delete":"Remove tracked addresses.","api:transaction:read":"List and view transactions and activity.","api:blockchain:read":"List supported blockchains.","api:balance:read":"View address balances and snapshots.","api:asset:read":"List and view token metadata.","api:asset:write":"Update token metadata.","api:simulate:call":"Simulate transactions on supported chains.","api:subscription:read":"List and view notification subscriptions.","api:subscription:write":"Create and update notification subscriptions.","api:subscription:delete":"Delete notification subscriptions.","api:channel:read":"List notification channels and delivery logs.","api:channel:write":"Create, update, and test notification channels.","api:channel:delete":"Delete notification channels.","api:public_key:read":"List and view extended public keys.","api:public_key:write":"Register and update extended public keys.","api:public_key:delete":"Remove extended public keys.","api:invoice:read":"List and view invoices.","api:invoice:write":"Create and cancel invoices.","api:invoice:delete":"Delete invoices.","api:token_tag:read":"List and view token tags.","api:token_tag:write":"Create and update token tags.","api:token_tag:delete":"Delete token tags.","api:address_tag:read":"List and view address tags.","api:address_tag:write":"Create and update address tags.","api:address_tag:delete":"Delete address tags."},"example":"api:address:read"}},"components/schemas/ApiKey":{"id":"components/schemas/ApiKey","kind":"json-schema","title":"ApiKey","data":{"description":"A project-scoped API key. The raw secret is only shown at creation.","allOf":[{"$ref":"#/components/schemas/KeyBase"},{"type":"object","required":["workspace_id","project_id","permissions"],"properties":{"workspace_id":{"description":"Workspace the key's project belongs to. Populated for convenience; always matches the project's workspace.","$ref":"#/components/schemas/UUID"},"project_id":{"description":"Project this key is scoped to.","$ref":"#/components/schemas/UUID"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/APIPermission"},"description":"Permissions granted to this key."}}}],"example":{"id":"0193d4a1-9f04-7e31-c5d6-7e8f90123456","name":"Backend service key","key_preview":"a1B2c3","workspace_id":"550e8400-e29b-41d4-a716-446655440000","project_id":"0193d4a1-7e02-7d29-8d8a-3b0e5a7c8f12","permissions":["api:address:read","api:address:write"],"created_at":"2024-01-15T10:30:00Z"}}},"components/schemas/ApiKeyCreated":{"id":"components/schemas/ApiKeyCreated","kind":"json-schema","title":"ApiKeyCreated","data":{"type":"object","description":"Envelope for a newly issued API key. Contains the raw secret shown only once.","required":["item","raw_key"],"properties":{"item":{"$ref":"#/components/schemas/ApiKey"},"raw_key":{"$ref":"#/components/schemas/RawKey"}}}},"components/schemas/VersionInfo":{"id":"components/schemas/VersionInfo","kind":"json-schema","title":"VersionInfo","data":{"type":"object","description":"API version information.","properties":{"version":{"description":"API version (semantic versioning).","type":"string"}},"required":["version"],"example":{"version":"1.0.0"}}},"schema_282":{"kind":"json-schema","data":{"$ref":"#/components/schemas/UUID"},"id":"schema_282"},"schema_283":{"kind":"json-schema","data":{"default":1,"example":1,"minimum":1,"type":"integer"},"id":"schema_283"},"schema_284":{"kind":"json-schema","data":{"default":30,"example":20,"maximum":100,"minimum":1,"type":"integer"},"id":"schema_284"},"schema_285":{"kind":"json-schema","data":{"type":"string","enum":["role","-role","joined_at","-joined_at"],"default":"-joined_at","example":"joined_at"},"id":"schema_285"},"schema_286":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceRole"}},"id":"schema_286"},"schema_287":{"kind":"json-schema","data":{"type":"string","maxLength":32,"example":"john@"},"id":"schema_287"},"schema_288":{"kind":"json-schema","data":{"type":"object","required":["items","meta"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceMember"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"}}},"id":"schema_288"},"schema_289":{"kind":"json-schema","data":{"type":"object","required":["role"],"properties":{"role":{"$ref":"#/components/schemas/AssignableWorkspaceRole"}},"example":{"role":"admin"}},"id":"schema_289"},"schema_290":{"kind":"json-schema","data":{"type":"object","required":["item"],"properties":{"item":{"$ref":"#/components/schemas/WorkspaceMember"}}},"id":"schema_290"},"schema_291":{"kind":"json-schema","data":{"type":"string","enum":["status","-status","expires_at","-expires_at","created_at","-created_at"],"default":"-created_at","example":"created_at"},"id":"schema_291"},"schema_292":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/InvitationStatus"}},"id":"schema_292"},"schema_293":{"kind":"json-schema","data":{"type":"object","required":["items","meta"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Invitation"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"}}},"id":"schema_293"},"schema_294":{"kind":"json-schema","data":{"type":"object","required":["email","workspace_role"],"properties":{"email":{"description":"Email address of the invited user.","$ref":"#/components/schemas/Email"},"workspace_role":{"$ref":"#/components/schemas/AssignableWorkspaceRole"},"project_grants":{"type":"array","description":"Optional project grants to apply when the invitation is accepted.","items":{"type":"object","required":["project_id","role"],"properties":{"project_id":{"description":"Project the grant is for.","$ref":"#/components/schemas/UUID"},"role":{"$ref":"#/components/schemas/ProjectRole"}}}}},"example":{"email":"user@example.com","workspace_role":"member","project_grants":[{"project_id":"0193d4a1-7e02-7d29-8d8a-3b0e5a7c8f12","role":"viewer"}]}},"id":"schema_294"},"schema_295":{"kind":"json-schema","data":{"type":"object","required":["item"],"properties":{"item":{"$ref":"#/components/schemas/Invitation"}}},"id":"schema_295"},"schema_296":{"kind":"json-schema","data":{"type":"string","enum":["created_at","-created_at"],"default":"-created_at","example":"created_at"},"id":"schema_296"},"schema_297":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/LogEventType"}},"id":"schema_297"},"schema_298":{"kind":"json-schema","data":{"type":"string","format":"date-time","example":"2024-01-01T00:00:00Z"},"id":"schema_298"},"schema_299":{"kind":"json-schema","data":{"type":"string","format":"date-time","example":"2024-02-01T00:00:00Z"},"id":"schema_299"},"schema_300":{"kind":"json-schema","data":{"type":"object","required":["items","references","meta"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/LogEvent"}},"references":{"$ref":"#/components/schemas/LogEventReferences"},"meta":{"$ref":"#/components/schemas/PaginationMeta"}}},"id":"schema_300"},"schema_301":{"kind":"json-schema","data":{"type":"string","enum":["name","-name","created_at","-created_at","updated_at","-updated_at"],"default":"-created_at","example":"created_at"},"id":"schema_301"},"schema_302":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/ProjectStatus"}},"id":"schema_302"},"schema_303":{"kind":"json-schema","data":{"type":"string","maxLength":32,"example":"production"},"id":"schema_303"},"schema_304":{"kind":"json-schema","data":{"type":"object","required":["items","meta"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Project"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"}}},"id":"schema_304"},"schema_305":{"kind":"json-schema","data":{"type":"object","required":["name"],"properties":{"name":{"$ref":"#/components/schemas/ProjectName"}},"example":{"name":"Production"}},"id":"schema_305"},"schema_306":{"kind":"json-schema","data":{"type":"object","required":["item"],"properties":{"item":{"$ref":"#/components/schemas/Project"}}},"id":"schema_306"},"schema_307":{"kind":"json-schema","data":{"type":"object","required":["name"],"properties":{"name":{"$ref":"#/components/schemas/ProjectName"}},"example":{"name":"Renamed Project"}},"id":"schema_307"},"schema_308":{"kind":"json-schema","data":{"type":"string","enum":["role","-role","granted_at","-granted_at"],"default":"-granted_at","example":"granted_at"},"id":"schema_308"},"schema_309":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/ProjectRole"}},"id":"schema_309"},"schema_310":{"kind":"json-schema","data":{"type":"object","required":["items","meta"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectMember"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"}}},"id":"schema_310"},"schema_311":{"kind":"json-schema","data":{"type":"object","required":["user_id","role"],"properties":{"user_id":{"description":"User UUID of an existing workspace member.","$ref":"#/components/schemas/UUID"},"role":{"$ref":"#/components/schemas/ProjectRole"}},"example":{"user_id":"0193d4a1-8f03-7e30-b4c5-6d7e8f901234","role":"viewer"}},"id":"schema_311"},"schema_312":{"kind":"json-schema","data":{"type":"object","required":["item"],"properties":{"item":{"$ref":"#/components/schemas/ProjectMember"}}},"id":"schema_312"},"schema_313":{"kind":"json-schema","data":{"type":"object","required":["role"],"properties":{"role":{"$ref":"#/components/schemas/ProjectRole"}},"example":{"role":"editor"}},"id":"schema_313"},"schema_314":{"kind":"json-schema","data":{"type":"object","required":["item"],"properties":{"item":{"$ref":"#/components/schemas/Rpc"}}},"id":"schema_314"},"schema_315":{"kind":"json-schema","data":{"type":"string","enum":["name","-name","created_at","-created_at","revoked_at","-revoked_at","last_used_at","-last_used_at"],"default":"-created_at","example":"created_at"},"id":"schema_315"},"schema_316":{"kind":"json-schema","data":{"type":"array","items":{"type":"string","enum":["active","revoked"]}},"id":"schema_316"},"schema_317":{"kind":"json-schema","data":{"type":"object","required":["items","meta"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ApiKey"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"}}},"id":"schema_317"},"schema_318":{"kind":"json-schema","data":{"type":"object","required":["name","permissions"],"properties":{"name":{"$ref":"#/components/schemas/KeyName"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/APIPermission"},"minItems":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permissions to grant. Must all belong to the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"api:*"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" scope."},"children":[]}]}]}]},"expires_at":{"type":"string","format":"date-time","description":"Optional expiration timestamp. Omit to create a non-expiring key.","example":"2025-01-15T10:30:00Z"}},"example":{"name":"Backend service key","permissions":["api:address:read","api:address:write"],"expires_at":"2025-01-15T10:30:00Z"}},"id":"schema_318"},"schema_319":{"kind":"json-schema","data":{"type":"object","required":["item"],"properties":{"item":{"$ref":"#/components/schemas/ApiKey"}}},"id":"schema_319"},"schema_320":{"kind":"json-schema","data":{"type":"object","required":["items","meta"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RpcKey"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"}}},"id":"schema_320"},"schema_321":{"kind":"json-schema","data":{"type":"object","required":["name","permissions"],"properties":{"name":{"$ref":"#/components/schemas/KeyName"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/RPCPermission"},"minItems":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permissions to grant. Must all belong to the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rpc:*"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" scope."},"children":[]}]}]}]},"expires_at":{"type":"string","format":"date-time","description":"Optional expiration timestamp. Omit to create a non-expiring key.","example":"2025-01-15T10:30:00Z"}},"example":{"name":"RPC service key","permissions":["rpc:call"],"expires_at":"2025-01-15T10:30:00Z"}},"id":"schema_321"},"schema_322":{"kind":"json-schema","data":{"type":"object","required":["item"],"properties":{"item":{"$ref":"#/components/schemas/RpcKey"}}},"id":"schema_322"}},"exampleStore":{"paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1members/get/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1members/get/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1members/get/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1members/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1members/get/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1members/get/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1members/get/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1members/get/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/422/content/application~1problem+json/examples/key_limit_exceeded":{"value":{"type":"https://docs.vilna.io/apis/problems/precondition","title":"Precondition Failed","status":422,"code":"auth_key.resource_limit_exceeded","detail":"key count limit exceeded for scope","instance":"/traces/0199ce93-1a2b-7c01-9c2a-9d0010eaa330"},"key":"key_limit_exceeded","summary":"The key count limit for this scope has been reached","id":"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/patch/responses/422/content/application~1problem+json/examples/key_limit_exceeded"},"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1invitations/get/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1invitations/get/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1invitations/get/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1invitations/get/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1invitations/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1invitations/get/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1invitations/get/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1invitations/get/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1invitations/get/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/409/content/application~1problem+json/examples/member_already_exists":{"value":{"type":"https://docs.vilna.io/apis/problems/conflict","title":"Conflict","status":409,"code":"member.already_exists","detail":"user is already a member of this workspace","instance":"/traces/0199ce92-1a2b-7c01-9c2a-9d0010eaa320"},"key":"member_already_exists","summary":"The user is already a member of the workspace","id":"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/409/content/application~1problem+json/examples/member_already_exists"},"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/409/content/application~1problem+json/examples/last_admin":{"value":{"type":"https://docs.vilna.io/apis/problems/conflict","title":"Conflict","status":409,"code":"workspace.last_admin","detail":"cannot demote or remove the last admin of the workspace","instance":"/traces/0199ce92-4c5d-7c01-9c2a-9d0010eaa321"},"key":"last_admin","summary":"Cannot remove or demote the workspace's last admin","id":"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/409/content/application~1problem+json/examples/last_admin"},"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded":{"value":{"type":"https://docs.vilna.io/apis/problems/precondition","title":"Precondition Failed","status":422,"code":"auth_key.resource_limit_exceeded","detail":"key count limit exceeded for scope","instance":"/traces/0199ce93-1a2b-7c01-9c2a-9d0010eaa330"},"key":"key_limit_exceeded","summary":"The key count limit for this scope has been reached","id":"paths/~1workspaces~1{workspace_id}~1invitations/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded"},"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/409/content/application~1problem+json/examples/member_already_exists":{"value":{"type":"https://docs.vilna.io/apis/problems/conflict","title":"Conflict","status":409,"code":"member.already_exists","detail":"user is already a member of this workspace","instance":"/traces/0199ce92-1a2b-7c01-9c2a-9d0010eaa320"},"key":"member_already_exists","summary":"The user is already a member of the workspace","id":"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/409/content/application~1problem+json/examples/member_already_exists"},"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/409/content/application~1problem+json/examples/last_admin":{"value":{"type":"https://docs.vilna.io/apis/problems/conflict","title":"Conflict","status":409,"code":"workspace.last_admin","detail":"cannot demote or remove the last admin of the workspace","instance":"/traces/0199ce92-4c5d-7c01-9c2a-9d0010eaa321"},"key":"last_admin","summary":"Cannot remove or demote the workspace's last admin","id":"paths/~1workspaces~1{workspace_id}~1invitations~1{invitation_id}~1actions~1revoke/post/responses/409/content/application~1problem+json/examples/last_admin"},"paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1logs/get/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1logs/get/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1logs/get/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1logs/get/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1logs/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1logs/get/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1logs/get/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1logs/get/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1logs/get/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1projects/get/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1projects/get/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects/get/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1projects/get/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1projects/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1projects/get/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects/get/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1projects/get/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects/get/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1projects/post/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1projects/post/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects/post/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1projects/post/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1projects/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1projects/post/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects/post/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1projects/post/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects/post/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1projects/post/responses/409/content/application~1problem+json/examples/member_already_exists":{"value":{"type":"https://docs.vilna.io/apis/problems/conflict","title":"Conflict","status":409,"code":"member.already_exists","detail":"user is already a member of this workspace","instance":"/traces/0199ce92-1a2b-7c01-9c2a-9d0010eaa320"},"key":"member_already_exists","summary":"The user is already a member of the workspace","id":"paths/~1workspaces~1{workspace_id}~1projects/post/responses/409/content/application~1problem+json/examples/member_already_exists"},"paths/~1workspaces~1{workspace_id}~1projects/post/responses/409/content/application~1problem+json/examples/last_admin":{"value":{"type":"https://docs.vilna.io/apis/problems/conflict","title":"Conflict","status":409,"code":"workspace.last_admin","detail":"cannot demote or remove the last admin of the workspace","instance":"/traces/0199ce92-4c5d-7c01-9c2a-9d0010eaa321"},"key":"last_admin","summary":"Cannot remove or demote the workspace's last admin","id":"paths/~1workspaces~1{workspace_id}~1projects/post/responses/409/content/application~1problem+json/examples/last_admin"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/get/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/409/content/application~1problem+json/examples/member_already_exists":{"value":{"type":"https://docs.vilna.io/apis/problems/conflict","title":"Conflict","status":409,"code":"member.already_exists","detail":"user is already a member of this workspace","instance":"/traces/0199ce92-1a2b-7c01-9c2a-9d0010eaa320"},"key":"member_already_exists","summary":"The user is already a member of the workspace","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/409/content/application~1problem+json/examples/member_already_exists"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/409/content/application~1problem+json/examples/last_admin":{"value":{"type":"https://docs.vilna.io/apis/problems/conflict","title":"Conflict","status":409,"code":"workspace.last_admin","detail":"cannot demote or remove the last admin of the workspace","instance":"/traces/0199ce92-4c5d-7c01-9c2a-9d0010eaa321"},"key":"last_admin","summary":"Cannot remove or demote the workspace's last admin","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/patch/responses/409/content/application~1problem+json/examples/last_admin"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/409/content/application~1problem+json/examples/member_already_exists":{"value":{"type":"https://docs.vilna.io/apis/problems/conflict","title":"Conflict","status":409,"code":"member.already_exists","detail":"user is already a member of this workspace","instance":"/traces/0199ce92-1a2b-7c01-9c2a-9d0010eaa320"},"key":"member_already_exists","summary":"The user is already a member of the workspace","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/409/content/application~1problem+json/examples/member_already_exists"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/409/content/application~1problem+json/examples/last_admin":{"value":{"type":"https://docs.vilna.io/apis/problems/conflict","title":"Conflict","status":409,"code":"workspace.last_admin","detail":"cannot demote or remove the last admin of the workspace","instance":"/traces/0199ce92-4c5d-7c01-9c2a-9d0010eaa321"},"key":"last_admin","summary":"Cannot remove or demote the workspace's last admin","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}/delete/responses/409/content/application~1problem+json/examples/last_admin"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/get/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/409/content/application~1problem+json/examples/member_already_exists":{"value":{"type":"https://docs.vilna.io/apis/problems/conflict","title":"Conflict","status":409,"code":"member.already_exists","detail":"user is already a member of this workspace","instance":"/traces/0199ce92-1a2b-7c01-9c2a-9d0010eaa320"},"key":"member_already_exists","summary":"The user is already a member of the workspace","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/409/content/application~1problem+json/examples/member_already_exists"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/409/content/application~1problem+json/examples/last_admin":{"value":{"type":"https://docs.vilna.io/apis/problems/conflict","title":"Conflict","status":409,"code":"workspace.last_admin","detail":"cannot demote or remove the last admin of the workspace","instance":"/traces/0199ce92-4c5d-7c01-9c2a-9d0010eaa321"},"key":"last_admin","summary":"Cannot remove or demote the workspace's last admin","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members/post/responses/409/content/application~1problem+json/examples/last_admin"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/patch/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1members~1{user_id}/delete/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1rpc/get/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1rpc/get/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1rpc/get/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1rpc/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1rpc/get/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1rpc/get/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1rpc/get/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1rpc/get/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/get/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded":{"value":{"type":"https://docs.vilna.io/apis/problems/precondition","title":"Precondition Failed","status":422,"code":"auth_key.resource_limit_exceeded","detail":"key count limit exceeded for scope","instance":"/traces/0199ce93-1a2b-7c01-9c2a-9d0010eaa330"},"key":"key_limit_exceeded","summary":"The key count limit for this scope has been reached","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1projects~1{project_id}~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys/get/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded":{"value":{"type":"https://docs.vilna.io/apis/problems/precondition","title":"Precondition Failed","status":422,"code":"auth_key.resource_limit_exceeded","detail":"key count limit exceeded for scope","instance":"/traces/0199ce93-1a2b-7c01-9c2a-9d0010eaa330"},"key":"key_limit_exceeded","summary":"The key count limit for this scope has been reached","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys/post/responses/422/content/application~1problem+json/examples/key_limit_exceeded"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}/get/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/400/content/application~1problem+json/examples/invalid_pagination"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials":{"value":{"type":"https://docs.vilna.io/apis/problems/unauthorized","title":"Unauthorized","status":401,"code":"unspecified","detail":"You are not authorized to access this resource. If the problem persists, please contact our support team — your feedback helps us improve.","instance":"/traces/0199ce94-1a2b-7c01-9c2a-9d0010eaa340"},"key":"missing_credentials","summary":"No valid management key or session was supplied","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/401/content/application~1problem+json/examples/missing_credentials"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions":{"value":{"type":"https://docs.vilna.io/apis/problems/forbidden","title":"Forbidden","status":403,"code":"unspecified","detail":"Your credentials are valid but don't include the permission this operation needs. Check the management key permissions in the dashboard. Permissions are set when the key is created and can't be edited later. To change them, create a new key.","instance":"/forbidden?method=createWorkspaceProject"},"key":"insufficient_permissions","summary":"The management key lacks the required permission","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/403/content/application~1problem+json/examples/insufficient_permissions"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"resource.not_found","detail":"resource not found","instance":"/traces/0199ce91-1a2b-7c01-9c2a-9d0010eaa310"},"key":"resource_not_found","summary":"The workspace or project does not exist","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/resource_not_found"},"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found":{"value":{"type":"https://docs.vilna.io/apis/problems/not-found","title":"Not Found","status":404,"code":"member.not_found","detail":"workspace member not found","instance":"/traces/0199ce91-4c5d-7c01-9c2a-9d0010eaa311"},"key":"member_not_found","summary":"The workspace member does not exist","id":"paths/~1workspaces~1{workspace_id}~1rpc~1keys~1{key_id}~1actions~1revoke/post/responses/404/content/application~1problem+json/examples/member_not_found"},"paths/~1version/get/responses/400/content/application~1problem+json/examples/name_too_long":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"resource.name_too_long","detail":"resource name exceeds maximum length","instance":"/traces/0199ce90-1a2b-7c01-9c2a-9d0010eaa300","fields":[{"name":"name","reason":"must not exceed 64 characters"}]},"key":"name_too_long","summary":"A name field exceeds its maximum length","id":"paths/~1version/get/responses/400/content/application~1problem+json/examples/name_too_long"},"paths/~1version/get/responses/400/content/application~1problem+json/examples/invalid_role":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"member.role_invalid","detail":"member role is invalid (allowed: admin, member)","instance":"/traces/0199ce90-4c5d-7c01-9c2a-9d0010eaa301"},"key":"invalid_role","summary":"An invalid member role was supplied","id":"paths/~1version/get/responses/400/content/application~1problem+json/examples/invalid_role"},"paths/~1version/get/responses/400/content/application~1problem+json/examples/invalid_pagination":{"value":{"type":"https://docs.vilna.io/apis/problems/invalid-request","title":"Invalid Request","status":400,"code":"shared.pagination_invalid","detail":"invalid pagination arguments","instance":"/traces/0199ce90-7e8f-7c01-9c2a-9d0010eaa302"},"key":"invalid_pagination","summary":"A pagination argument is out of range","id":"paths/~1version/get/responses/400/content/application~1problem+json/examples/invalid_pagination"}},"securitySchemeStore":{"Auth":{"id":"Auth","type":"apiKey","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Management key ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_mgt_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Send it in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Api-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on every request. The key must hold all scopes listed on the operation; a missing scope yields "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 Forbidden"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_api_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and RPC keys ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vilna_rpc_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are not accepted here; they authenticate the public API and RPC gateways respectively."},"children":[]}]}]}],"in":"header","paramName":"X-Api-Key"}},"servers":[{"url":"/_mock/apis/mgmt/api","isMockServer":true,"description":"Mock server"},{"url":"https://mgmt.vilna.io/v1","description":"Vilna Management API."}]},"options":{"schemasExpansionLevel":2,"codeSamples":{"languages":[{"lang":"curl"},{"lang":"JavaScript"},{"lang":"Python"},{"lang":"Go"}]},"hideSidebar":true,"mockServer":{"url":"/_mock/apis/mgmt/api","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/apis/mgmt/api.json?download"},{"url":"/_bundle/apis/mgmt/api.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Management API","description":"Vilna Management API. Manage workspaces, projects, team members, and API keys.\n\n**Authentication**\n\nEvery request must include a management key (`vilna_mgt_...`) in the `X-Api-Key` header. Management keys are workspace-scoped: each key only sees the workspace it was created in. Every operation lists the permission scopes its key must hold (e.g., `mgt:project:write`). A key missing the required scope gets `403 Forbidden`.\n\n**Key Types**\n\nVilna has three key types, each with its own prefix. Don't mix them:\n\n- `vilna_mgt_...`: management keys authenticate calls to this API (manage workspaces, projects, members, and other keys).\n- `vilna_api_...`: project-scoped API keys for the public Vilna API (`api.vilna.io`).\n- `vilna_rpc_...`: workspace-scoped keys for blockchain JSON-RPC endpoints (`rpc.vilna.io`).\n\nThis API creates and revokes API keys and RPC keys. Management keys are issued via the Vilna dashboard and can't be listed or rotated here. Their lifecycle events (`mgt_key.created`, `mgt_key.revoked`) still appear in the activity log so admins can audit changes.\n\n**Quick Links**\n\n- [Authorization Guide](/apis/mgmt/authorization) - Roles, permissions, and access control\n- [Quick Start Guide](/guides/quickstart) - Step-by-step integration tutorial\n\n**Endpoints**\n\nWorkspace Management\n\n- **[Members](#tag/member)** - Workspace members and their roles\n- **[Invitations](#tag/invitation)** - Workspace invitation lifecycle\n- **[Projects](#tag/project)** - Create, update, and delete projects within a workspace\n- **[Project Members](#tag/project_member)** - Assign and manage project-level member access\n- **[Activity Log](#tag/log)** - Audit trail of workspace activity\n\nKey Management\n\n- **[API Keys](#tag/api_key)** - Project-scoped API keys for the public Vilna API\n- **[RPC Keys](#tag/rpc_key)** - Workspace-scoped keys for blockchain RPC endpoints\n\nRPC Access\n\n- **[RPC](#tag/rpc)** - Workspace RPC endpoint details\n\nInfrastructure\n\n- **[Version](#tag/version)** - Service version info\n\n**Array Query Parameters**\n\nFilters that accept multiple values (`status`, `role`, `type`, etc.) use repeated keys:\n\n- ✅ `?status=active&status=revoked`\n- ❌ `?status=active,revoked`\n\nThis follows the OpenAPI default (`style: form, explode: true`).\n\n**Need Help?**\n\nVisit our [documentation portal](/apis/mgmt/authorization) for detailed guides and examples.\n"}},"baseSlug":"/apis/mgmt/api","routesMapping":{}}