ResourcesApi
extends ManagementSupport
in package
The resource hierarchy role assignments cascade down.
The resources namespace handle (CONTRACT.md §27.2), reached as
$client->management()->resources(). Every method here goes through the one shared ManagementTransport, so §3 CSRF, the §4 cookie jar, the §5 tenant header, §6 TLS, §16 retry
and §19 telemetry apply without this class doing anything to opt in (§27.8).
Table of Contents
Methods
- __construct() : mixed
- create() : resource
- `POST /api/v1/resources`
- delete() : void
- `DELETE /api/v1/resources/{resource_id}`
- forTenant() : static
- A COPY of this handle scoped to `$tenantId` (§27.4 rule 3). See {@see self::inOrg()} for why it copies.
- get() : resource
- `GET /api/v1/resources/{resource_id}`
- inOrg() : static
- A COPY of this handle scoped to `$orgId` (§27.4 rule 3).
- listAncestors() : array<int, resource>
- `GET /api/v1/resources/{resource_id}/ancestors`
- listChildren() : array<int, resource>
- `GET /api/v1/resources/{resource_id}/children`
- listItems() : Page<string|int, resource>
- `GET /api/v1/resources`
- update() : resource
- `PUT /api/v1/resources/{resource_id}`
Methods
__construct()
public
__construct(ManagementTransport $transport[, NamespaceScope $scope = new NamespaceScope() ][, string|null $clientOrgId = null ][, string|null $clientTenantId = null ]) : mixed
Parameters
- $transport : ManagementTransport
-
The one wire path (§27.8).
- $scope : NamespaceScope = new NamespaceScope()
-
Per-handle
{org_id}/{tenant_id}overrides. - $clientOrgId : string|null = null
-
The client's own organization id, or
null. - $clientTenantId : string|null = null
-
The client's own tenant id, or
null.
create()
`POST /api/v1/resources`
public
create(CreateResourceRequest $body) : resource
POST /api/v1/resources.
Parameters
- $body : CreateResourceRequest
-
the request body
Return values
resourcedelete()
`DELETE /api/v1/resources/{resource_id}`
public
delete(string $resourceId) : void
DELETE /api/v1/resources/{resource_id}.
Returns nothing; the server answers with an empty body.
NOT idempotent (§27.4 rule 6): deleting something already deleted raises NotFoundError rather than succeeding quietly.
Parameters
- $resourceId : string
-
the
{resource_id}path parameter
forTenant()
A COPY of this handle scoped to `$tenantId` (§27.4 rule 3). See {@see self::inOrg()} for why it copies.
public
forTenant(string $tenantId) : static
Parameters
- $tenantId : string
Return values
staticget()
`GET /api/v1/resources/{resource_id}`
public
get(string $resourceId) : resource
GET /api/v1/resources/{resource_id}.
Parameters
- $resourceId : string
-
the
{resource_id}path parameter
Return values
resourceinOrg()
A COPY of this handle scoped to `$orgId` (§27.4 rule 3).
public
inOrg(string $orgId) : static
Returns a new handle rather than mutating this one. An administrator holding a handle to their own organization should not find it repointed at someone else's because an unrelated code path re-scoped a shared object — and on a management surface that failure mode writes to the wrong tenant rather than merely reading from it.
Parameters
- $orgId : string
Return values
staticlistAncestors()
`GET /api/v1/resources/{resource_id}/ancestors`
public
listAncestors(string $resourceId) : array<int, resource>
GET /api/v1/resources/{resource_id}/ancestors.
Returns the server's complete list. This endpoint is NOT paginated, so the result is a
plain list and never a Page (§27.4 rule 4).
Parameters
- $resourceId : string
-
the
{resource_id}path parameter
Return values
array<int, resource>listChildren()
`GET /api/v1/resources/{resource_id}/children`
public
listChildren(string $resourceId) : array<int, resource>
GET /api/v1/resources/{resource_id}/children.
Returns the server's complete list. This endpoint is NOT paginated, so the result is a
plain list and never a Page (§27.4 rule 4).
Parameters
- $resourceId : string
-
the
{resource_id}path parameter
Return values
array<int, resource>listItems()
`GET /api/v1/resources`
public
listItems([PageRequest|null $page = null ]) : Page<string|int, resource>
GET /api/v1/resources.
Returns ONE page. Page::$total is the server's count across all pages and is not
count($page) — see §27.4 rule 4.
Parameters
- $page : PageRequest|null = null
-
which page to fetch; defaults to the first
Return values
Page<string|int, resource>update()
`PUT /api/v1/resources/{resource_id}`
public
update(string $resourceId, UpdateResourceRequest $body) : resource
PUT /api/v1/resources/{resource_id}.
Parameters
- $resourceId : string
-
the
{resource_id}path parameter - $body : UpdateResourceRequest
-
the request body