{"schemaVersion":"1.0","sourceCommit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca","sourceVisibility":"private","article":{"id":"api-client-mansoq-web-teleicu-src-types-emr-role-roleapi-ts","title":"Role Api client API reference · mansoq-web-teleicu","summary":"5 client route/call declarations with path parameters, named payload/response types and source references. Exact server acceptance and permissions require the matched backend contract.","module":"IT & integrations","roles":["IT administrator","Developer","Integration engineer"],"facilities":["All configured facility types"],"kind":"reference","minutes":4,"prerequisites":["Use the API contract from the installed deployment and an authorized synthetic test environment.","Confirm facility/organization scope, action permissions and optional app enablement.","This reference is static source evidence; complete payload, authorization, failure and end-to-end review remains recorded as pending."],"steps":[],"sections":[{"title":"Client contract scope","body":"These 5 declarations come from **repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts**. Client types and noAuth flags describe the caller; they do not authorize a server action. Dynamic paths and missing backend matches are retained as review work, not repaired into invented endpoints."},{"title":"Operation map","body":"| Client method | HTTP method | Path pattern | Resolution |\n| --- | --- | --- | --- |\n| default.listRoles | GET | `/api/v1/role/` | literal |\n| default.createRole | POST | `/api/v1/role/` | literal |\n| default.getRole | GET | `/api/v1/role/{external_id}/` | literal |\n| default.updateRole | PUT | `/api/v1/role/{external_id}/` | literal |\n| default.deleteRole | DELETE | `/api/v1/role/{external_id}/` | literal |"},{"title":"default.listRoles","body":"**GET /api/v1/role/**. typed route object; literal. multiple static method/path matches across source registrations; installed target and boundary require review.\n\n**response type:** `PaginatedResponse<RoleRead>`. client-side declaration; not proof of accepted server payload.\n\n**PaginatedResponse declared fields:**\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| count | number | true | — |\n| results | TItem[] | true | — |\n\n**RoleRead declared fields:**\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| permissions | Permission[] | true | — |\n\nComposed/inherited schema references: RoleBase. Exact generic composition is retained in the structured reference and requires server-side confirmation.\n\n**Operational limitation:** request validation, permission checks, error statuses and irreversible side effects belong to the server implementation. An unmatched or computed client route requires contract review before use."},{"title":"default.createRole","body":"**POST /api/v1/role/**. typed route object; literal. multiple static method/path matches across source registrations; installed target and boundary require review.\n\n**request type:** `RoleCreate`. client-side declaration; not proof of accepted server payload.\n\n**RoleCreate declared fields:**\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| permissions | string[] | true | — |\n\nComposed/inherited schema references: RoleBase. Exact generic composition is retained in the structured reference and requires server-side confirmation.\n\n**response type:** `RoleRead`. client-side declaration; not proof of accepted server payload.\n\n**Operational limitation:** request validation, permission checks, error statuses and irreversible side effects belong to the server implementation. An unmatched or computed client route requires contract review before use."},{"title":"default.getRole","body":"**GET /api/v1/role/{external_id}/**. typed route object; literal. multiple static method/path matches across source registrations; installed target and boundary require review.\n\n**Path parameters:** `external_id`. Transport strings are declared here; semantic identifier types require the server contract.\n\n**response type:** `RoleRead`. client-side declaration; not proof of accepted server payload.\n\n**Operational limitation:** request validation, permission checks, error statuses and irreversible side effects belong to the server implementation. An unmatched or computed client route requires contract review before use."},{"title":"default.updateRole","body":"**PUT /api/v1/role/{external_id}/**. typed route object; literal. multiple static method/path matches across source registrations; installed target and boundary require review.\n\n**Path parameters:** `external_id`. Transport strings are declared here; semantic identifier types require the server contract.\n\n**request type:** `RoleCreate`. client-side declaration; not proof of accepted server payload.\n\n**response type:** `RoleRead`. client-side declaration; not proof of accepted server payload.\n\n**Operational limitation:** request validation, permission checks, error statuses and irreversible side effects belong to the server implementation. An unmatched or computed client route requires contract review before use."},{"title":"default.deleteRole","body":"**DELETE /api/v1/role/{external_id}/**. typed route object; literal. multiple static method/path matches across source registrations; installed target and boundary require review.\n\n**Path parameters:** `external_id`. Transport strings are declared here; semantic identifier types require the server contract.\n\n**response type:** `void`. client-side declaration; not proof of accepted server payload.\n\n**Operational limitation:** request validation, permission checks, error statuses and irreversible side effects belong to the server implementation. An unmatched or computed client route requires contract review before use."}],"troubleshooting":[{"problem":"A declared route is unavailable or a request is rejected","solution":"Compare the installed revision, actual API schema, optional plugin mount, HTTP-method restrictions and recorded validation/permission evidence. Do not bypass a refusal or send a production transaction to test documentation."}],"sources":[{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":6,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":17,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":22,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":28,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-web-teleicu/src/Utils/request/types.ts","line":66,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":32,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":36,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}],"related":["it-api-contract","it-api-auth","security-rcm-roles"],"verification":"Static API contract — behavior review pending","version":"f6e9f05f76d4","apiReferenceIds":["frontend-operation-cb23ae56e6b38ae526","frontend-operation-e4f13adab175c5c32a","frontend-operation-0af4ba49c0e4f89e01","frontend-operation-d7472cc4b212caa400","frontend-operation-9e716c2fa96a1d72b2"]},"backend":{"resources":[],"operations":[],"methodEvidence":[],"schemas":[],"frameworkSettings":[]},"frontend":{"operations":[{"id":"frontend-operation-cb23ae56e6b38ae526","repository":"repositories/teleicu/mansoq-web-teleicu","apiModule":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","operationKey":"default.listRoles","method":"GET","path":"/api/v1/role/","resolution":"literal","originOmitted":false,"source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":6,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"description":"","pathParameters":[],"declaredQueryParameters":[],"request":null,"response":{"type":"PaginatedResponse<RoleRead>","schemaIds":["repositories/teleicu/mansoq-web-teleicu/src/Utils/request/types.ts#PaginatedResponse","repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts#RoleRead"],"source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":9,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"reviewStatus":"client-side declaration; not proof of accepted server payload"},"query":null,"clientNoAuth":null,"contractKind":"typed route object","reviewStatus":"client contract extracted; runtime behavior and authorization review pending","backendOperationIds":["backend-resource-f621a70a68cced1b:GET:list","backend-resource-7245bb79716450d5:GET:list"],"sourceFamily":"alternative/legacy frontend source","backendMatchStatus":"multiple static method/path matches across source registrations; installed target and boundary require review"},{"id":"frontend-operation-e4f13adab175c5c32a","repository":"repositories/teleicu/mansoq-web-teleicu","apiModule":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","operationKey":"default.createRole","method":"POST","path":"/api/v1/role/","resolution":"literal","originOmitted":false,"source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":11,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"description":"","pathParameters":[],"declaredQueryParameters":[],"request":{"type":"RoleCreate","schemaIds":["repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts#RoleCreate"],"source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":14,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"reviewStatus":"client-side declaration; not proof of accepted server payload"},"response":{"type":"RoleRead","schemaIds":["repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts#RoleRead"],"source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":15,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"reviewStatus":"client-side declaration; not proof of accepted server payload"},"query":null,"clientNoAuth":null,"contractKind":"typed route object","reviewStatus":"client contract extracted; runtime behavior and authorization review pending","backendOperationIds":["backend-resource-f621a70a68cced1b:POST:create","backend-resource-7245bb79716450d5:POST:create"],"sourceFamily":"alternative/legacy frontend source","backendMatchStatus":"multiple static method/path matches across source registrations; installed target and boundary require review"},{"id":"frontend-operation-0af4ba49c0e4f89e01","repository":"repositories/teleicu/mansoq-web-teleicu","apiModule":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","operationKey":"default.getRole","method":"GET","path":"/api/v1/role/{external_id}/","resolution":"literal","originOmitted":false,"source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":17,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"description":"","pathParameters":[{"name":"external_id","type":"path string; semantic ID type requires contract confirmation","required":true}],"declaredQueryParameters":[],"request":null,"response":{"type":"RoleRead","schemaIds":["repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts#RoleRead"],"source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":20,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"reviewStatus":"client-side declaration; not proof of accepted server payload"},"query":null,"clientNoAuth":null,"contractKind":"typed route object","reviewStatus":"client contract extracted; runtime behavior and authorization review pending","backendOperationIds":["backend-resource-f621a70a68cced1b:GET:retrieve","backend-resource-7245bb79716450d5:GET:retrieve"],"sourceFamily":"alternative/legacy frontend source","backendMatchStatus":"multiple static method/path matches across source registrations; installed target and boundary require review"},{"id":"frontend-operation-d7472cc4b212caa400","repository":"repositories/teleicu/mansoq-web-teleicu","apiModule":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","operationKey":"default.updateRole","method":"PUT","path":"/api/v1/role/{external_id}/","resolution":"literal","originOmitted":false,"source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":22,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"description":"","pathParameters":[{"name":"external_id","type":"path string; semantic ID type requires contract confirmation","required":true}],"declaredQueryParameters":[],"request":{"type":"RoleCreate","schemaIds":["repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts#RoleCreate"],"source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":25,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"reviewStatus":"client-side declaration; not proof of accepted server payload"},"response":{"type":"RoleRead","schemaIds":["repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts#RoleRead"],"source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":26,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"reviewStatus":"client-side declaration; not proof of accepted server payload"},"query":null,"clientNoAuth":null,"contractKind":"typed route object","reviewStatus":"client contract extracted; runtime behavior and authorization review pending","backendOperationIds":["backend-resource-f621a70a68cced1b:PUT:update","backend-resource-7245bb79716450d5:PUT:update"],"sourceFamily":"alternative/legacy frontend source","backendMatchStatus":"multiple static method/path matches across source registrations; installed target and boundary require review"},{"id":"frontend-operation-9e716c2fa96a1d72b2","repository":"repositories/teleicu/mansoq-web-teleicu","apiModule":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","operationKey":"default.deleteRole","method":"DELETE","path":"/api/v1/role/{external_id}/","resolution":"literal","originOmitted":false,"source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":28,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"description":"","pathParameters":[{"name":"external_id","type":"path string; semantic ID type requires contract confirmation","required":true}],"declaredQueryParameters":[],"request":null,"response":{"type":"void","schemaIds":[],"source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/roleApi.ts","line":31,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"reviewStatus":"client-side declaration; not proof of accepted server payload"},"query":null,"clientNoAuth":null,"contractKind":"typed route object","reviewStatus":"client contract extracted; runtime behavior and authorization review pending","backendOperationIds":["backend-resource-f621a70a68cced1b:DELETE:destroy","backend-resource-7245bb79716450d5:DELETE:destroy"],"sourceFamily":"alternative/legacy frontend source","backendMatchStatus":"multiple static method/path matches across source registrations; installed target and boundary require review"}],"schemas":[{"id":"repositories/teleicu/mansoq-web-teleicu/src/Utils/request/types.ts#PaginatedResponse","name":"PaginatedResponse","kind":"InterfaceDeclaration","description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/Utils/request/types.ts","line":66,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"typeParameters":["TItem"],"fields":[{"name":"count","type":"number","required":true,"readOnly":false,"hasInitializer":false,"description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/Utils/request/types.ts","line":67,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"schemaIds":[]},{"name":"results","type":"TItem[]","required":true,"readOnly":false,"hasInitializer":false,"description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/Utils/request/types.ts","line":68,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"schemaIds":[]}],"baseSchemaIds":[],"reviewStatus":"declared TypeScript fields extracted; server payload/validation review pending","baseTypes":[]},{"id":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts#RoleRead","name":"RoleRead","kind":"InterfaceDeclaration","description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":32,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"typeParameters":[],"fields":[{"name":"permissions","type":"Permission[]","required":true,"readOnly":false,"hasInitializer":false,"description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":33,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"schemaIds":["repositories/teleicu/mansoq-web-teleicu/src/types/emr/permission/permission.ts#Permission"]}],"baseSchemaIds":["repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts#RoleBase"],"reviewStatus":"declared TypeScript fields extracted; server payload/validation review pending","baseTypes":["RoleBase"]},{"id":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts#RoleBase","name":"RoleBase","kind":"InterfaceDeclaration","description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":24,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"typeParameters":[],"fields":[{"name":"id","type":"string","required":true,"readOnly":false,"hasInitializer":false,"description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":25,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"schemaIds":[]},{"name":"name","type":"string","required":true,"readOnly":false,"hasInitializer":false,"description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":26,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"schemaIds":[]},{"name":"description","type":"string","required":true,"readOnly":false,"hasInitializer":false,"description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":27,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"schemaIds":[]},{"name":"is_system","type":"boolean","required":true,"readOnly":false,"hasInitializer":false,"description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":28,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"schemaIds":[]},{"name":"contexts","type":"RoleContext[]","required":true,"readOnly":false,"hasInitializer":false,"description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":29,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"schemaIds":["repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts#RoleContext"]}],"baseSchemaIds":[],"reviewStatus":"declared TypeScript fields extracted; server payload/validation review pending","baseTypes":[]},{"id":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts#RoleContext","name":"RoleContext","kind":"EnumDeclaration","description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":3,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"typeParameters":[],"fields":[],"baseSchemaIds":[],"reviewStatus":"declared TypeScript fields extracted; server payload/validation review pending","members":[{"name":"FACILITY","value":"FACILITY","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":4,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"GOVT_ORG","value":"GOVT_ORG","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":5,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"name":"ROLE_ORG","value":"ROLE_ORG","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":6,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/permission/permission.ts#Permission","name":"Permission","kind":"InterfaceDeclaration","description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/permission/permission.ts","line":1,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"typeParameters":[],"fields":[{"name":"name","type":"string","required":true,"readOnly":false,"hasInitializer":false,"description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/permission/permission.ts","line":2,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"schemaIds":[]},{"name":"slug","type":"string","required":true,"readOnly":false,"hasInitializer":false,"description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/permission/permission.ts","line":3,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"schemaIds":[]},{"name":"context","type":"string","required":true,"readOnly":false,"hasInitializer":false,"description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/permission/permission.ts","line":4,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"schemaIds":[]},{"name":"description","type":"string","required":true,"readOnly":false,"hasInitializer":false,"description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/permission/permission.ts","line":5,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"schemaIds":[]}],"baseSchemaIds":[],"reviewStatus":"declared TypeScript fields extracted; server payload/validation review pending","baseTypes":[]},{"id":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts#RoleCreate","name":"RoleCreate","kind":"InterfaceDeclaration","description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":36,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"typeParameters":[],"fields":[{"name":"permissions","type":"string[]","required":true,"readOnly":false,"hasInitializer":false,"description":"","source":{"path":"repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts","line":37,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"schemaIds":[]}],"baseSchemaIds":["repositories/teleicu/mansoq-web-teleicu/src/types/emr/role/role.ts#RoleBase"],"reviewStatus":"declared TypeScript fields extracted; server payload/validation review pending","baseTypes":["Omit<RoleBase, \"id\" | \"is_system\">"]}]},"services":{"operations":[]},"boundaries":[]}