Update organization
- Sandbox: available
- Staging: available
- Production: unknown
Updates an organization's (zone's) name, description and parent zone.
Auth: Bearer token. The caller must be a practitioner, an admin, a super admin, or hold the "System Owner" access policy. The access policy must grant Organization:update (an admin or super admin who holds no access policy skips this check).
Scope: The organization must belong to the caller's project (from the token). Organizations in a parent project or a sub-project are refused.
Behaviour
nameis required and must be unique among the organizations your token can search, not counting this one.parentOrganizationIdsets the parent zone. It must name an organization in your own project. Omitting it removes the current parent, which makes the zone top-level.description, when non-empty, replaces the narrative text. Omitting it, or sendingnullor an empty string, leaves the existing description unchanged.- The write is atomic and takes a short write lock. A concurrent write to the same resources gets a 409.
- A zone-updated entry is added to the change history. A failure to write that entry does not fail the request.
- The response is the organization after the update, in the same shape as
GET /v1/slim/organization/{id}.
Example
curl -X PUT 'https://api.sandbox.ovok.com/v1/slim/organization/c3499c27-2973-0a7f-807e-fb8676a92dcb' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' \ -H 'Content-Type: application/json' \ -d '{ "name": "Ward A", "parentOrganizationId": "87ea5dfc-8b8e-384d-8489-79496e706390", "description": "Ground floor" }'bearerAuthorizationBearer <JWT>id*stringuuidapplication/json- body
name*string1 <= lengthparentOrganizationId?stringuuiddescription?stringOrganization updated successfully.
application/json- response
id*stringOrganization (zone) id.
name*stringZone name. Empty string when the organization has no name.
parentOrganizationId?stringId of the parent zone (Organization.partOf). Omitted for a top-level zone.
description?stringNarrative text without its XHTML wrapper. Omitted when the organization has none.
curl -X PUT 'https://api.sandbox.ovok.com/v1/slim/organization/497f6eca-6276-4993-bfeb-53cbbbba6f08' \ -H 'Content-Type: application/json' \ -d '{ "name": "string"}'{ "id": "string", "name": "string", "parentOrganizationId": "string", "description": "string"}Delete organization DELETE
Deletes an organization (zone) and moves its residents, rooms and devices out of it. **Auth:** Bearer token. The caller must be a practitioner, an admin, a super admin, or hold the "System Owner" access policy. The access policy must grant `Organization:delete` and `Device:update` (an admin or super admin who holds no access policy skips this check). **Scope:** The organization must belong to the caller's project (from the token). ## Behaviour - The Organization resource is deleted. - Every patient, location and device that references the zone is re-pointed: - If the zone has a parent zone in your project, they move to the parent zone. - Otherwise their zone reference is removed. - Device use history is updated for any device whose assignment changes. - The writes run in one bundle. Because a large zone can exceed the size limit of an atomic write, this route does not take the atomic write lock. A very large zone is written as a checked batch, so a partial failure is reported as an error rather than rolled back. - A zone-deleted entry is added to the change history. A failure to write that entry does not fail the request. - The response has no body. ## Example ```bash curl -X DELETE 'https://api.sandbox.ovok.com/v1/slim/organization/c3499c27-2973-0a7f-807e-fb8676a92dcb' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ```
Create organization POST
Creates an organization (a zone in the Slim dashboard), optionally as a child of another zone. **Auth:** Bearer token. The caller must be a practitioner, an admin, a super admin, or hold the "System Owner" access policy. The access policy must grant `Organization:create` (an admin or super admin who holds no access policy skips this check). **Scope:** The organization is created in the caller's project (from the token). A super-admin caller can pass `?projectId=<uuid>` to create it in that project instead. Any other caller who passes `projectId` gets a 403. ## Behaviour - `name` must be unique. The check is an exact name match against the organizations your token can search. With `?projectId`, the check runs in that project only. - `parentOrganizationId`, when set, must name an organization in your own project. A sub-project's or parent project's organization is refused. The new zone's `partOf` points at it. - `description`, when non-empty, is stored as the organization's narrative text. `null` or an empty string stores nothing. - The write is atomic and takes a short write lock. A concurrent write to the same resources gets a 409. - A zone-created entry is added to the change history. A failure to write that entry does not fail the request. - The response is the created organization, in the same shape as `GET /v1/slim/organization/{id}`. ## Example ```bash curl -X POST 'https://api.sandbox.ovok.com/v1/slim/organization' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' \ -H 'Content-Type: application/json' \ -d '{ "name": "Ward A", "parentOrganizationId": "87ea5dfc-8b8e-384d-8489-79496e706390", "description": "Ground floor" }' ```