> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/dsx-air/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/dsx-air/_mcp/server.

# air_sdk.endpoints.image_publish_access_records

## Classes

| Name                                                                                                                      | Description                                                           |
| ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| [`ImagePublishAccessRecord`](#air_sdkendpointsimage_publish_access_recordsimagepublishaccessrecord)                       | Represents a request to publish or change the visibility of an image. |
| [`ImagePublishAccessRecordEndpointAPI`](#air_sdkendpointsimage_publish_access_recordsimagepublishaccessrecordendpointapi) | Endpoint API for managing image publish access records.               |

## Module Contents

```python
class air_sdk.endpoints.image_publish_access_records.ImagePublishAccessRecord
```

**Bases**: `air_sdk.air_model.AirModel`

Represents a request to publish or change the visibility of an image.

Publish access records are created when an org requests to publish an image
or change its visibility. An admin must review the request and either
approve or deny it.

```python
id: str
```

Unique identifier for the record

```python
created: datetime.datetime
```

Timestamp when the record was created

```python
modified: datetime.datetime
```

Timestamp when the record was last modified

```python
image: Image
```

The image the request is for (foreign key — lazily resolved)

```python
image_name: str
```

Name of the image at the time of the request

```python
image_version: str
```

Version of the image at the time of the request

```python
requested_by: str | None
```

Email of the user who submitted the request, or None

```python
requested_at: datetime.datetime | None
```

When the current request was submitted, or None if cancelled

```python
requesting_org: str | None
```

Org's readable\_name (display\_name or ngc\_org\_name), or None

```python
requesting_org_display_name: str | None
```

Display name of the requesting org, or None

```python
requesting_org_ngc_org_name: str | None
```

NGC org name of the requesting org, or None

```python
reviewed_by: str | None
```

Email of the admin who reviewed the request, or None

```python
reviewed_at: datetime.datetime | None
```

When the request was last reviewed, or None if still pending

```python
status: PAR_STATUS
```

Current status of the request

```python
publicly_published: bool
```

Whether the image should be publicly accessible

```python
prefer_public: bool
```

Whether the requester prefers public over allowlist

```python
justification: str
```

Requester's reason for the request

```python
allowed_orgs_request_text: str
```

Free-text description of orgs to allowlist

```python
allowed_orgs: list[str] | None
```

List of org UUIDs on the allowlist, or None.
Note: Only populated for admin callers; non-admins receive None.

```python
denial_reason: str
```

Reason the request was denied, or empty string if not yet denied

```python
get_model_api() -> type[ImagePublishAccessRecordEndpointAPI]
```

```python
model_api: ImagePublishAccessRecordEndpointAPI
```

```python
approve(
    *,
    publicly_published: bool = ...,
    allowed_orgs: list[str] = ...,
    **kwargs: Any
) -> ImagePublishAccessRecord
```

Approve this request. See `ImagePublishAccessRecordEndpointAPI.approve`.

```python
deny(
    *,
    denial_reason: str = ...,
    **kwargs: Any
) -> ImagePublishAccessRecord
```

Deny this request. See `ImagePublishAccessRecordEndpointAPI.deny`.

```python
set_visibility(
    *,
    publicly_published: bool,
    allowed_orgs: list[str] = ...,
    **kwargs: Any
) -> ImagePublishAccessRecord
```

Set visibility. See `ImagePublishAccessRecordEndpointAPI.set_visibility`.

```python
class air_sdk.endpoints.image_publish_access_records.ImagePublishAccessRecordEndpointAPI
```

**Bases**: `air_sdk.air_model.BaseEndpointAPI[air_sdk.endpoints.image_publish_access_records.ImagePublishAccessRecord]`

Endpoint API for managing image publish access records.

Provides methods for listing and retrieving records, plus admin actions
to approve, deny, or change the visibility of a pending request.
Records are created automatically by the Air platform when a publish
or visibility-change request is submitted — they cannot be created via
the SDK.

```python
API_PATH: str
```

```python
API_APPROVE_PATH: str
```

```python
API_DENY_PATH: str
```

```python
API_SET_VISIBILITY_PATH: str
```

```python
model: type[ImagePublishAccessRecord]
```

```python
list(
    *,
    image: str | PrimaryKey = ...,
    status: PAR_STATUS = ...,
    publicly_published: bool = ...,
    requested_by_email: str = ...,
    requesting_org_display_name: str = ...,
    requesting_org_ngc_org_name: str = ...,
    limit: int = ...,
    offset: int = ...,
    ordering: str = ...,
    search: str = ...
) -> Iterator[ImagePublishAccessRecord]
```

List image publish access records.

**Parameters:**

* `image` – Filter by image UUID
* `status` – Filter by request status
* `publicly_published` – Filter by public vs restricted visibility
* `requested_by_email` – Filter by requester email (case-insensitive)
* `requesting_org_display_name` – Filter by org display name (case-insensitive)
* `requesting_org_ngc_org_name` – Filter by org NGC name (case-insensitive)
* `limit` – Number of results to return per page
* `offset` – Initial index from which to return results
* `ordering` – Order by field (prefix with `-` for descending)
* `search` – Search query

**Returns:**

Iterator of ImagePublishAccessRecord instances

**Example:**

```python
>>> for record in api.image_publish_access_records.list(status='PENDING'):
...     print(record.image_name, record.requested_by)
```

```python
get(
    pk: PrimaryKey,
    **kwargs: Any
) -> ImagePublishAccessRecord
```

Retrieve a specific publish access record.

**Parameters:**

* `pk` – Record UUID
* `**kwargs` – Additional query parameters

**Returns:**

ImagePublishAccessRecord instance

**Example:**

```python
>>> record = api.image_publish_access_records.get('record-uuid')
>>> print(record.status, record.image_name)
```

```python
approve(
    *,
    record: ImagePublishAccessRecord | PrimaryKey,
    publicly_published: bool = ...,
    allowed_orgs: List[str] = ...,
    **kwargs: Any
) -> ImagePublishAccessRecord
```

Approve a pending publish access request.

**Parameters:**

* `record` – The record to approve (instance or UUID)
* `publicly_published` – Whether to make the image publicly accessible. When False, access is restricted to `allowed_orgs`.
* `allowed_orgs` – List of org UUIDs that may access the image. Only meaningful when `publicly_published` is False.
* `**kwargs` – Additional parameters

**Returns:**

Updated ImagePublishAccessRecord with status `APPROVED`

**Example:**

```python
>>> record = api.image_publish_access_records.get('record-uuid')
>>> api.image_publish_access_records.approve(record=record)

>>> # Approve with explicit visibility
>>> api.image_publish_access_records.approve(
...     record=record,
...     publicly_published=True,
... )
```

```python
deny(
    *,
    record: ImagePublishAccessRecord | PrimaryKey,
    denial_reason: str = ...,
    **kwargs: Any
) -> ImagePublishAccessRecord
```

Deny a pending publish access request.

**Parameters:**

* `record` – The record to deny (instance or UUID)
* `denial_reason` – Human-readable explanation of why the request was denied
* `**kwargs` – Additional parameters

**Returns:**

Updated ImagePublishAccessRecord with status `DENIED`

**Example:**

```python
>>> api.image_publish_access_records.deny(
...     record='record-uuid',
...     denial_reason='Does not meet publishing requirements.',
... )
```

```python
set_visibility(
    *,
    record: ImagePublishAccessRecord | PrimaryKey,
    publicly_published: bool,
    allowed_orgs: List[str] = ...,
    **kwargs: Any
) -> ImagePublishAccessRecord
```

Update the visibility of a published image.

**Parameters:**

* `record` – The record to update (instance or UUID)
* `publicly_published` – Whether the image should be publicly accessible. When False, access is restricted to `allowed_orgs`.
* `allowed_orgs` – List of org UUIDs that may access the image. Only meaningful when `publicly_published` is False.
* `**kwargs` – Additional parameters

**Returns:**

Updated ImagePublishAccessRecord

**Example:**

```python
>>> # Make image public
>>> api.image_publish_access_records.set_visibility(
...     record='record-uuid',
...     publicly_published=True,
... )

>>> # Restrict to specific orgs
>>> api.image_publish_access_records.set_visibility(
...     record='record-uuid',
...     publicly_published=False,
...     allowed_orgs=['org-uuid-1', 'org-uuid-2'],
... )
```