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

# Get Work Orders Id Linked Work Orders

GET https://app.hindsiteind.com/api/v2/work_orders/{id}/linked_work_orders

Lists the work orders linked to this one, with each link's kind read from this work order's side (a blocks row created on the counterpart reads as blocked_by here).

Reference: https://api-docs.hindsiteind.com/hindsite-api/work-orders/get-work-orders-id-linked-work-orders

## Authentication

- `Authorization` header (bearer token, required) — OAuth 2.0 Client Credentials Flow. To obtain an access token: 1. Request API credentials from HINDSITE support to receive your `client_id` and `client_secret` 2. Make a POST request to obtain an access token: ``` POST https://app.hindsiteind.com/oauth/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET ``` 3. The response will contain your access token: ```json { "access_token": "your_access_token_here", "token_type": "Bearer", "expires_in": 7200, "created_at": 1234567890 } ``` 4. Include the token in subsequent API requests: ``` Authorization: Bearer your_access_token_here ```

## Request

### Path parameters

- `id` (string, required)

## Response

### 200

linked work orders

- `list of WorkOrderRelationship`

## Types

### WorkOrderRelationship

A link between two work orders, read from the perspective of the work order in the URL. kind is one of related, blocks (this work order blocks the linked one) or blocked_by (this work order is blocked by the linked one).

- `id` (string, optional) — ULID
- `kind` (enum, optional)
  - Allowed values: `related`, `blocks`, `blocked_by`
- `work_order` (WorkOrderRelationshipWorkOrder, optional) — The work order at the other end of the link
- `created_at` (integer, optional) — Unix timestamp
- `updated_at` (integer, optional) — Unix timestamp

### WorkOrderRelationshipWorkOrder

The work order at the other end of the link

- `id` (string, optional) — ULID
- `title` (string, optional)
- `status` (string, optional)
- `completed` (boolean, optional)

## Examples

**Response**

```json
[
  {
    "id": "string",
    "kind": "related",
    "work_order": {
      "id": "string",
      "title": "string",
      "status": "string",
      "completed": true
    },
    "created_at": 1,
    "updated_at": 1
  }
]
```

**SDK Code**

```python
import requests

url = "https://app.hindsiteind.com/api/v2/work_orders/id/linked_work_orders"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://app.hindsiteind.com/api/v2/work_orders/id/linked_work_orders';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://app.hindsiteind.com/api/v2/work_orders/id/linked_work_orders"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://app.hindsiteind.com/api/v2/work_orders/id/linked_work_orders")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://app.hindsiteind.com/api/v2/work_orders/id/linked_work_orders")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://app.hindsiteind.com/api/v2/work_orders/id/linked_work_orders', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://app.hindsiteind.com/api/v2/work_orders/id/linked_work_orders");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://app.hindsiteind.com/api/v2/work_orders/id/linked_work_orders")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```