# doc.version.api_link
## Module Functions
### Get API Link <a name="get"></a>
**API Endpoint**: `GET /doc_project/{doc_name}/version/{doc_version}/api_link/{link_id}`
#### Parameters
| Parameter | Required | Description | Example |
| ------------- | :------: | ----------- | ------------------------------------------------------------------ |
| `doc_name` | ✓ | | `"my-project".to_string()` |
| `doc_version` | ✓ | | `IdOrInt::Str("3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string())` |
| `link_id` | ✓ | | `"3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string()` |
#### Example Snippet
```rust
let client = sideko_rest_api::SidekoClient::default()
.with_api_key_auth(&std::env::var("API_KEY").unwrap())
.with_cookie_auth(&std::env::var("API_KEY").unwrap());
let res = client
.doc()
.version()
.api_link()
.get(sideko_rest_api::resources::doc::version::api_link::GetRequest {
doc_name: "my-project".to_string(),
doc_version: sideko_rest_api::models::IdOrInt::Str(
"3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string(),
),
link_id: "3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string(),
})
.await;
```
#### Response
##### Type
[ApiLink](/src/models/api_link.rs)
##### Example
```rust
ApiLink {created_at: "1970-01-01T00:00:00".to_string(), id: "3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string(), label: "string".to_string(), slug: "string".to_string(), type_: ComponentTypeApiLinkEnum::ApiLink, api_version: ApiLinkedApiVersion {api_id: "3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string(), api_name: "string".to_string(), id: "3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string(), version: "0.1.0".to_string()}, ask_ai: true, build_request_enabled: true, doc_version: ApiLinkedDocVersion {doc_project_id: "3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string(), doc_project_name: "string".to_string(), id: "3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string(), version: 123}, include_mock_server: true, policy: LinkPolicyEnum::Latest}
```
### Update API Link <a name="patch"></a>
**API Endpoint**: `PATCH /doc_project/{doc_name}/version/{doc_version}/api_link/{link_id}`
#### Parameters
| Parameter | Required | Description | Example |
| ----------------------- | :------: | ----------- | ------------------------------------------------------------------ |
| `doc_name` | ✓ | | `"my-project".to_string()` |
| `doc_version` | ✓ | | `IdOrInt::Str("3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string())` |
| `link_id` | ✓ | | `"3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string()` |
| `api_version` | ✗ | | `ApiVersion::VersionTypeEnum(VersionTypeEnum::Latest)` |
| `ask_ai` | ✗ | | `true` |
| `build_request_enabled` | ✗ | | `true` |
| `include_mock_server` | ✗ | | `true` |
| `label` | ✗ | | `"string".to_string()` |
| `policy` | ✗ | | `LinkPolicyEnum::Latest` |
| `slug` | ✗ | | `"string".to_string()` |
#### Example Snippet
```rust
let client = sideko_rest_api::SidekoClient::default()
.with_api_key_auth(&std::env::var("API_KEY").unwrap())
.with_cookie_auth(&std::env::var("API_KEY").unwrap());
let res = client
.doc()
.version()
.api_link()
.patch(sideko_rest_api::resources::doc::version::api_link::PatchRequest {
doc_name: "my-project".to_string(),
doc_version: sideko_rest_api::models::IdOrInt::Str(
"3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string(),
),
link_id: "3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string(),
..Default::default()
})
.await;
```
#### Response
##### Type
[ApiLink](/src/models/api_link.rs)
##### Example
```rust
ApiLink {created_at: "1970-01-01T00:00:00".to_string(), id: "3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string(), label: "string".to_string(), slug: "string".to_string(), type_: ComponentTypeApiLinkEnum::ApiLink, api_version: ApiLinkedApiVersion {api_id: "3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string(), api_name: "string".to_string(), id: "3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string(), version: "0.1.0".to_string()}, ask_ai: true, build_request_enabled: true, doc_version: ApiLinkedDocVersion {doc_project_id: "3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string(), doc_project_name: "string".to_string(), id: "3e4666bf-d5e5-4aa7-b8ce-cefe41c7568a".to_string(), version: 123}, include_mock_server: true, policy: LinkPolicyEnum::Latest}
```