{
  "service": "imgix",
  "displayName": "Imgix",
  "categories": [
    "Design & Media",
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "IMGIX_API_KEY",
      "description": "Imgix Management API key sent as a Bearer token. Create or copy an API key from the Imgix dashboard API keys page: https://dashboard.imgix.com/api-keys."
    }
  ],
  "homepageUrl": "https://www.imgix.com",
  "actions": [
    {
      "id": "imgix.get_source",
      "service": "imgix",
      "name": "get_source",
      "description": "Retrieve a single Imgix Source by its ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "sourceId": {
            "type": "string",
            "minLength": 1,
            "description": "The unique Imgix Source identifier."
          },
          "fieldsSources": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated Source fields to return through the fields[sources] sparse fieldset."
          }
        },
        "additionalProperties": false,
        "required": [
          "sourceId"
        ],
        "description": "Input parameters for retrieving an Imgix Source."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "source": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique Imgix Source identifier."
              },
              "type": {
                "type": "string",
                "description": "The JSON:API resource type returned by Imgix."
              },
              "attributes": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The Source attributes returned by Imgix."
              }
            },
            "additionalProperties": true,
            "description": "An Imgix Source resource returned by the Management API."
          },
          "meta": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Response metadata returned by Imgix."
              },
              {
                "type": "null"
              }
            ]
          },
          "jsonapi": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The JSON:API metadata object returned by Imgix."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The normalized Imgix Source response."
      }
    },
    {
      "id": "imgix.list_sources",
      "service": "imgix",
      "name": "list_sources",
      "description": "List Imgix Sources with optional pagination, sorting, sparse fields, and source filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "sort": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated sort fields accepted by Imgix, such as -date_deployed,name."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "description": "Number of Sources to return per page."
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-indexed page number to fetch."
          },
          "fieldsSources": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated Source fields to return through the fields[sources] sparse fieldset."
          },
          "filterName": {
            "type": "string",
            "minLength": 1,
            "description": "Filter Sources by name."
          },
          "filterEnabled": {
            "type": "boolean",
            "description": "Filter Sources by enabled status."
          },
          "filterDeploymentType": {
            "type": "string",
            "enum": [
              "azure",
              "gcs",
              "s3",
              "webfolder",
              "webproxy",
              "s3_compatible"
            ],
            "description": "Filter Sources by deployment type."
          },
          "filterDeploymentRegion": {
            "type": "string",
            "minLength": 1,
            "description": "Filter S3-compatible Sources by deployment region."
          },
          "filterDeploymentS3Bucket": {
            "type": "string",
            "minLength": 1,
            "description": "Filter Sources by S3 bucket name."
          },
          "filterDeploymentGcsBucket": {
            "type": "string",
            "minLength": 1,
            "description": "Filter Sources by GCS bucket name."
          },
          "filterDeploymentBucketName": {
            "type": "string",
            "minLength": 1,
            "description": "Filter S3-compatible Sources by deployment bucket name."
          },
          "filterDeploymentAzureBucket": {
            "type": "string",
            "minLength": 1,
            "description": "Filter Sources by Azure container name."
          },
          "filterDeploymentCustomDomains": {
            "type": "string",
            "minLength": 1,
            "description": "Filter Sources by custom domain."
          },
          "filterDeploymentImgixSubdomains": {
            "type": "string",
            "minLength": 1,
            "description": "Filter Sources by Imgix subdomain."
          },
          "filterDeploymentStorageProvider": {
            "type": "string",
            "minLength": 1,
            "description": "Filter S3-compatible Sources by storage provider."
          },
          "filterDeploymentWebfolderBaseUrl": {
            "type": "string",
            "minLength": 1,
            "description": "Filter Web Folder Sources by deployment base URL."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing Imgix Sources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The unique Imgix Source identifier."
                },
                "type": {
                  "type": "string",
                  "description": "The JSON:API resource type returned by Imgix."
                },
                "attributes": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The Source attributes returned by Imgix."
                }
              },
              "additionalProperties": true,
              "description": "An Imgix Source resource returned by the Management API."
            },
            "description": "The Sources returned by Imgix."
          },
          "meta": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "pagination": {
                    "type": "object",
                    "properties": {
                      "currentPage": {
                        "type": "integer",
                        "description": "The current zero-indexed page number."
                      },
                      "pageSize": {
                        "type": "integer",
                        "description": "The page size returned by Imgix."
                      },
                      "totalPages": {
                        "type": "integer",
                        "description": "The total number of available pages."
                      },
                      "totalRecords": {
                        "type": "integer",
                        "description": "The total number of matching records."
                      },
                      "hasNextPage": {
                        "type": "boolean",
                        "description": "Whether another page is available."
                      },
                      "hasPreviousPage": {
                        "type": "boolean",
                        "description": "Whether a previous page is available."
                      },
                      "nextPage": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The next page number when available."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "previousPage": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The previous page number when available."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": true,
                    "description": "Pagination metadata returned by Imgix for list endpoints."
                  }
                },
                "additionalProperties": true,
                "description": "Response metadata returned by Imgix."
              },
              {
                "type": "null"
              }
            ]
          },
          "jsonapi": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The JSON:API metadata object returned by Imgix."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The normalized Imgix Sources list response."
      }
    },
    {
      "id": "imgix.purge_asset",
      "service": "imgix",
      "name": "purge_asset",
      "description": "Purge an Imgix asset URL from cache so subsequent requests fetch a fresh origin copy.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The full Imgix asset URL to purge.",
            "format": "uri"
          },
          "sourceId": {
            "type": "string",
            "minLength": 1,
            "description": "Optional Imgix Source ID used to scope the purge."
          },
          "subImage": {
            "type": "boolean",
            "description": "Whether to purge only sub-images or variants of the asset."
          }
        },
        "additionalProperties": false,
        "required": [
          "url"
        ],
        "description": "Input parameters for purging an Imgix asset."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "purge": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The purge request identifier."
              },
              "type": {
                "type": "string",
                "description": "The JSON:API resource type returned by Imgix."
              },
              "attributes": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Purge attributes returned by Imgix."
              }
            },
            "additionalProperties": true,
            "description": "The purge resource returned by Imgix."
          },
          "jsonapi": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The JSON:API metadata object returned by Imgix."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The normalized Imgix purge response."
      }
    },
    {
      "id": "imgix.update_source",
      "service": "imgix",
      "name": "update_source",
      "description": "Update an Imgix Source by sending JSON:API Source attributes to the Management API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "sourceId": {
            "type": "string",
            "minLength": 1,
            "description": "The unique Imgix Source identifier."
          },
          "attributes": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Source attributes to send to Imgix. Use the official Imgix Source attribute keys for the selected source type."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for updating an Imgix Source."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "source": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique Imgix Source identifier."
              },
              "type": {
                "type": "string",
                "description": "The JSON:API resource type returned by Imgix."
              },
              "attributes": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The Source attributes returned by Imgix."
              }
            },
            "additionalProperties": true,
            "description": "An Imgix Source resource returned by the Management API."
          },
          "meta": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Response metadata returned by Imgix."
              },
              {
                "type": "null"
              }
            ]
          },
          "jsonapi": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The JSON:API metadata object returned by Imgix."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The normalized Imgix Source response."
      }
    }
  ]
}
