# Netlify Integration via LowCodeAPI

**Last Updated**: February 10, 2026

## Overview
Web hosting and deployment

**Categories:**
- {'id': 'developer-tools', 'name': 'Developer Tools'}

## Base Endpoint
https://api.lowcodeapi.com/netlify

**Important**: Always include the provider name in the URL path after `api.lowcodeapi.com/`

## Authentication
**Type:** TOKEN

**Official Documentation:** https://docs.netlify.com/api/get-started

## URL Format (Important)

LowCodeAPI supports two URL formats. **Always try the New Format first**, then fall back to Old Format if needed.

### New Format (Priority)
- Path parameters stay in the URL path
- Do NOT include path parameters as query parameters
- Example: `https://api.lowcodeapi.com/{provider}/resource/{id}?api_token=XXX`

### Old Format (Fallback)
- Path parameters become query parameters
- Example: `https://api.lowcodeapi.com/{provider}/resource/id?id={id}&api_token=XXX`

### Decision Flow for AI Agents
1. Always use **New Format** first - keep path parameters in the URL path
2. If you get a 404 or error, try **Old Format** with sanitized path
3. Log which format worked for future requests to this provider

## API Categories

## Common Endpoints

### List sites

**Method:** GET
**LowCodeAPI Path:** /api/v1/sites

**New Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites?api_token=YOUR_API_TOKEN

**Query Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| filter | string |  |
| name | string |  |
| page | integer |  |
| per_page | integer |  |

**Example Request (New Format):**

```bash
curl -X GET 'https://api.lowcodeapi.com/netlify/api/v1/sites?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://docs.netlify.com/api/get-started/#list-sites

### Create a site

**Method:** POST
**LowCodeAPI Path:** /api/v1/sites

**New Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites?api_token=YOUR_API_TOKEN

**Query Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| configure_dns | boolean |  |

**Request Body:**

| Field | Type | Description |
|-------|------|-------------|
| build_settings | object |  |
| custom_domain | string |  |
| force_ssl | boolean |  |
| managed_dns | boolean |  |
| name | string |  |
| password | string |  |
| plan | string |  |
| repo | object |  |
| ssl_url | string |  |

**Example Request (New Format):**

```bash
curl -X POST 'https://api.lowcodeapi.com/netlify/api/v1/sites?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://docs.netlify.com/api/get-started/#create-a-site

### Get a site

**Method:** GET
**LowCodeAPI Path:** /api/v1/sites/{site_id}

**New Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites/{site_id}?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites/site_id?site_id={site_id}&api_token=YOUR_API_TOKEN

**Path Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| site_id | string |  |

**Query Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| feature_flags | string |  |

**Example Request (New Format):**

```bash
curl -X GET 'https://api.lowcodeapi.com/netlify/api/v1/sites/{site_id}?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://docs.netlify.com/api/get-started/#get-site-information

### Update a site

**Method:** PATCH
**LowCodeAPI Path:** /api/v1/sites/{site_id}

**New Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites/{site_id}?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites/site_id?site_id={site_id}&api_token=YOUR_API_TOKEN

**Path Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| site_id | string |  |

**Request Body:**

| Field | Type | Description |
|-------|------|-------------|
| build_settings | object |  |
| custom_domain | string |  |
| force_ssl | boolean |  |
| managed_dns | boolean |  |
| name | string |  |
| password | string |  |
| plan | string |  |
| repo | object |  |
| ssl_url | string |  |

**Example Request (New Format):**

```bash
curl -X PATCH 'https://api.lowcodeapi.com/netlify/api/v1/sites/{site_id}?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://docs.netlify.com/api/get-started/#update-a-site

### Delete a site

**Method:** DELETE
**LowCodeAPI Path:** /api/v1/sites/{site_id}

**New Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites/{site_id}?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites/site_id?site_id={site_id}&api_token=YOUR_API_TOKEN

**Path Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| site_id | string |  |

**Example Request (New Format):**

```bash
curl -X DELETE 'https://api.lowcodeapi.com/netlify/api/v1/sites/{site_id}?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://docs.netlify.com/api/get-started/#delete-a-site

### List deploys for a site

**Method:** GET
**LowCodeAPI Path:** /api/v1/sites/{site_id}/deploys

**New Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites/{site_id}/deploys?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites/site_id/deploys?site_id={site_id}&api_token=YOUR_API_TOKEN

**Path Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| site_id | string |  |

**Query Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| branch | string |  |
| page | integer |  |
| per_page | integer |  |
| state | string |  |

**Example Request (New Format):**

```bash
curl -X GET 'https://api.lowcodeapi.com/netlify/api/v1/sites/{site_id}/deploys?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://docs.netlify.com/api/get-started/#list-deploys

### Create a new deploy

**Method:** POST
**LowCodeAPI Path:** /api/v1/sites/{site_id}/deploys

**New Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites/{site_id}/deploys?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites/site_id/deploys?site_id={site_id}&api_token=YOUR_API_TOKEN

**Path Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| site_id | string |  |

**Request Body:**

| Field | Type | Description |
|-------|------|-------------|
| async | boolean |  |
| branch | string |  |
| draft | boolean |  |
| files | object |  |
| function_schedules | array |  |
| functions | object |  |
| title | string |  |

**Example Request (New Format):**

```bash
curl -X POST 'https://api.lowcodeapi.com/netlify/api/v1/sites/{site_id}/deploys?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://docs.netlify.com/api/get-started/#create-a-deploy

### Get a deploy

**Method:** GET
**LowCodeAPI Path:** /api/v1/deploys/{deploy_id}

**New Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/deploys/{deploy_id}?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/deploys/deploy_id?deploy_id={deploy_id}&api_token=YOUR_API_TOKEN

**Path Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| deploy_id | string |  |

**Example Request (New Format):**

```bash
curl -X GET 'https://api.lowcodeapi.com/netlify/api/v1/deploys/{deploy_id}?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://docs.netlify.com/api/get-started/#get-deploy

### Cancel a deploy

**Method:** POST
**LowCodeAPI Path:** /api/v1/deploys/{deploy_id}/cancel

**New Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/deploys/{deploy_id}/cancel?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/deploys/deploy_id/cancel?deploy_id={deploy_id}&api_token=YOUR_API_TOKEN

**Path Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| deploy_id | string |  |

**Example Request (New Format):**

```bash
curl -X POST 'https://api.lowcodeapi.com/netlify/api/v1/deploys/{deploy_id}/cancel?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://docs.netlify.com/api/get-started/#cancel-a-deploy

### Restore a deploy

**Method:** POST
**LowCodeAPI Path:** /api/v1/sites/{site_id}/deploys/{deploy_id}/restore

**New Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites/{site_id}/deploys/{deploy_id}/restore?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/netlify/api/v1/sites/site_id/deploys/deploy_id/restore?deploy_id={deploy_id}&site_id={site_id}&api_token=YOUR_API_TOKEN

**Path Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| deploy_id | string |  |
| site_id | string |  |

**Example Request (New Format):**

```bash
curl -X POST 'https://api.lowcodeapi.com/netlify/api/v1/sites/{site_id}/deploys/{deploy_id}/restore?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://docs.netlify.com/api/get-started/#restore-a-deploy


## Usage Examples

### Example 1: Basic API Request (New Format)

Making a simple GET request to retrieve resources:

```bash
# Get a list of resources - no path parameters needed
curl -X GET "https://api.lowcodeapi.com/netlify/endpoint?api_token=YOUR_API_TOKEN"
```

### Example 2: Request with Path Parameters (New Format)

Retrieving a specific resource using its ID:

```bash
# Get specific resource by ID - replace RESOURCE_ID with actual ID from previous response
curl -X GET "https://api.lowcodeapi.com/netlify/endpoint/{RESOURCE_ID}?api_token=YOUR_API_TOKEN"
# Note: RESOURCE_ID typically comes from a previous list request or from the provider dashboard
```

### Example 3: POST Request with Body (New Format)

Creating a new resource:

```bash
# Create a new resource
curl -X POST "https://api.lowcodeapi.com/netlify/endpoint?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"field": "value", "another_field": "another_value"}'
```

## Error Handling

LowCodeAPI returns standard HTTP status codes. Common errors:

| Status Code | Description |
|-------------|-------------|
| 200 | Success - Request completed successfully |
| 400 | Bad Request - Invalid parameters or request body |
| 401 | Unauthorized - Invalid or missing API token |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Endpoint or resource doesn't exist |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Server Error - Provider API error |

All error responses include error details:

```json
{
  "data": {
    "error": {
      "message": "Error description",
      "code": "ERROR_CODE"
    }
  }
}
```

## Complete Endpoint Reference

| Endpoint | Method | Category |
|----------|--------|----------|
| List sites | GET | Sites |
| Create a site | POST | Sites |
| Get a site | GET | Sites |
| Update a site | PATCH | Sites |
| Delete a site | DELETE | Sites |
| List deploys for a site | GET | Deploys |
| Create a new deploy | POST | Deploys |
| Get a deploy | GET | Deploys |
| Cancel a deploy | POST | Deploys |
| Restore a deploy | POST | Deploys |
| Lock a deploy | POST | Deploys |
| Unlock a deploy | POST | Deploys |
| List forms for a site | GET | Forms |
| Get a form | GET | Forms |
| List form submissions | GET | Submissions |
| List submissions for a form | GET | Submissions |
| Delete a submission | DELETE | Submissions |
| List functions for a site | GET | Functions |
| List environment variables | GET | Environment Variables |
| Create environment variables | POST | Environment Variables |
| Get environment variable | GET | Environment Variables |
| Update environment variable | PUT | Environment Variables |
| Delete environment variable | DELETE | Environment Variables |
| List build hooks | GET | Build Hooks |
| Create a build hook | POST | Build Hooks |
| Get a build hook | GET | Build Hooks |
| Update a build hook | PUT | Build Hooks |
| Delete a build hook | DELETE | Build Hooks |
| List DNS zones | GET | DNS |
| Provision TLS certificate | POST | SSL |
| List TLS certificates | GET | SSL |
| List snippets | GET | Snippets |
| Create a snippet | POST | Snippets |
| Get a snippet | GET | Snippets |
| Update a snippet | PUT | Snippets |
| Delete a snippet | DELETE | Snippets |
| Rollback a deploy | POST | Deploys |
| Unlink repository | PUT | Sites |
| List deployed branches | GET | Deploys |
| List site files | GET | Files |
| Get a file | GET | Files |
| List assets | GET | Assets |
| Get an asset | GET | Assets |
| Update site metadata | PUT | Sites |
| List hooks | GET | Hooks |
| Create a hook | POST | Hooks |
| Get a hook | GET | Hooks |
| Update a hook | PUT | Hooks |
| Delete a hook | DELETE | Hooks |
| Enable a hook | POST | Hooks |
| List hook types | GET | Hooks |
| Get a build | GET | Builds |
| Get build log | GET | Builds |
| Start a build | POST | Builds |
| List builds | GET | Builds |
| Get deploy validations report | GET | Deploys |
| Get deploy file | GET | Deploys |
| Get deploy function | GET | Deploys |
| Install a plugin | POST | Plugins |
| Uninstall a plugin | DELETE | Plugins |
| Get latest plugin run | GET | Plugins |
| List plugin runs for a deploy | GET | Plugins |
| Purge cache | POST | Cache |
| Get account builds status | GET | Builds |
| Get asset public signature | GET | Assets |
| Delete environment variable value | DELETE | Environment Variables |

## API Definition Endpoints

You can fetch the complete API specification for this provider:

**New Format (OpenAPI spec):**
```bash
curl 'https://backend.lowcodeapi.com/netlify/openapi'
```

**Old Format (API definition):**
```bash
curl 'https://backend.lowcodeapi.com/netlify/definition'
```

## Response Format

All responses are wrapped in a `data` key:

```json
{
  "data": {
    // Actual response from provider (object or array)
  }
}
```