# GET /api/v1/jobs/{id}/access

Current endpoint, SSH host-key fingerprint and command (renter owner)

Operation: `getJobAccess`.

Current endpoint, SSH host-key fingerprint and command (renter owner)

Execution access only while ready/running; STOPPED retrieval access is read-only, time-limited and explicitly labeled. No execution endpoint before verified readiness.

## Endpoint

`GET https://amplerun-api.spiry.org/api/v1/jobs/{id}/access`

## Authentication

Use the credential and scope required by this operation. For programmatic renter/host calls: `Authorization: Bearer $AMPLERUN_API_KEY`. A host-agent signature or other specialized proof is required where the description specifies it.

## Parameters

| Name | Location | Presence | Type | Description |
| --- | --- | --- | --- | --- |
| `id` | path | Required | UUID |  |

## Responses

### `200`

Access material.

`application/json`
| Field | Type | Presence | Description |
| --- | --- | --- | --- |
| `mode` | "execution" / "retrieval-read-only" | Required |  |
| `endpoints` | array of object | Required |  |
| `ssh_host_key_fingerprint` | string | Required |  |
| `ssh_command` | string | Required |  |
| `expires_at` | Rfc3339Utc | Required |  |
| `api_key` | string | Optional | Additive. Per-job bearer token for kind=model templates (mode=execution only); the same value the engine was launched with (AMPLERUN_API_KEY / VLLM_API_KEY / LLAMA_API_KEY). Never present for classical/custom jobs. |

```json
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "mode",
    "endpoints",
    "ssh_host_key_fingerprint",
    "ssh_command",
    "expires_at"
  ],
  "properties": {
    "mode": {
      "enum": [
        "execution",
        "retrieval-read-only"
      ]
    },
    "endpoints": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "endpoint_id",
          "kind",
          "external_host",
          "external_port"
        ],
        "properties": {
          "endpoint_id": {
            "type": "string"
          },
          "kind": {
            "enum": [
              "ssh",
              "https",
              "http",
              "sftp-retrieval"
            ]
          },
          "external_host": {
            "type": "string"
          },
          "external_port": {
            "type": "integer",
            "minimum": 1,
            "maximum": 65535
          }
        }
      }
    },
    "ssh_host_key_fingerprint": {
      "type": "string"
    },
    "ssh_command": {
      "type": "string"
    },
    "expires_at": {
      "$ref": "#/components/schemas/Rfc3339Utc"
    },
    "api_key": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{43}$",
      "description": "Additive. Per-job bearer token for kind=model templates (mode=execution only); the same value the engine was launched with (AMPLERUN_API_KEY / VLLM_API_KEY / LLAMA_API_KEY). Never present for classical/custom jobs."
    }
  }
}
```

### `default`

Error envelope. 401 unauthenticated, 403/404 forbidden, 409 conflict, 422 invalid input, 429 rate limited (code UNAVAILABLE, retryable:true, no Retry-After header), 503 unavailable money/provider state with retryable:true.

`application/json`
| Field | Type | Presence | Description |
| --- | --- | --- | --- |
| `error` | object | Required |  |

```json
{
  "$ref": "#/components/schemas/ErrorEnvelope"
}
```

## Static request outline

Replace path/query placeholders and provide the required JSON body, headers and credential from the sections above. This is a request outline, not a command that chooses an amount or starts a rental for you.

```sh
curl --request GET 'https://amplerun-api.spiry.org/api/v1/jobs/{id}/access' \
  --header "Authorization: Bearer $AMPLERUN_API_KEY"
```

[Schema definitions](https://docs.amplerun.com/reference/schemas.md) · [Download OpenAPI](/openapi.json) · [Authentication](https://docs.amplerun.com/agents/authentication.md) · [Errors and recovery](https://docs.amplerun.com/reference/errors.md)

---
Generated from the AmpleRun API contract.
Canonical: https://docs.amplerun.com/reference/api/get-job-access/
