> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wiseyield.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Get field

> Retrieve a single field by its UUID.

```
GET https://www.wiseyield.co/api/v1/farms/{id}/fields/{fieldId}
```

### Authentication

Requires a key with the `fields:read` scope.

### Path parameters

<ParamField path="id" type="string" required>Farm UUID.</ParamField>
<ParamField path="fieldId" type="string" required>Field UUID.</ParamField>

### Response

Returns the field wrapped under `data`. See [List fields](/api-reference/fields/list-fields) for the full field reference.

<RequestExample>
  ```bash cURL theme={null}
  curl 'https://www.wiseyield.co/api/v1/farms/11111111.../fields/88888888...' \
    -H "Authorization: Bearer $WISEYIELD_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const res = await fetch(
    `https://www.wiseyield.co/api/v1/farms/${farmId}/fields/${fieldId}`,
    { headers: { Authorization: `Bearer ${process.env.WISEYIELD_API_KEY}` } }
  );
  const { data: field } = await res.json();
  ```

  ```python Python theme={null}
  import os, requests
  res = requests.get(
      f'https://www.wiseyield.co/api/v1/farms/{farm_id}/fields/{field_id}',
      headers={'Authorization': f"Bearer {os.environ['WISEYIELD_API_KEY']}"},
  )
  field = res.json()['data']
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "data": {
      "id": "88888888-9999-aaaa-bbbb-cccccccccccc",
      "farmId": "11111111-2222-3333-4444-555555555555",
      "name": "North Field",
      "area": "4.2",
      "soilType": "sandy loam",
      "soilPh": "7.2",
      "status": "active",
      "createdAt": "2024-03-15T08:00:00.000Z",
      "updatedAt": "2026-05-10T14:30:00.000Z"
    }
  }
  ```

  ```json 400 Invalid ID theme={null}
  { "error": "Invalid ID", "code": "INVALID_ID", "message": "Field ID must be a valid UUID" }
  ```

  ```json 404 Not found theme={null}
  { "error": "Not found", "code": "NOT_FOUND", "message": "Field not found" }
  ```
</ResponseExample>

## Errors

| Status                    | When                                                                     |
| ------------------------- | ------------------------------------------------------------------------ |
| `400 INVALID_ID`          | `{id}` or `{fieldId}` is not a valid UUID                                |
| `401`                     | Missing, malformed, expired, or revoked API key                          |
| `403 INSUFFICIENT_SCOPE`  | Key lacks `fields:read` scope                                            |
| `404 NOT_FOUND`           | Farm or field doesn't exist, is soft-deleted, or belongs to another user |
| `429 RATE_LIMIT_EXCEEDED` | Per-user rate limit reached                                              |
| `5xx`                     | Server error                                                             |
