# social.colibri.embed.getImage

> Published by [colibri.social](https://lexicon.garden/identity/did:plc:mprdjqjluoswa7awzggaggj3)

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:mprdjqjluoswa7awzggaggj3/social.colibri.embed.getImage)
- [Documentation](https://lexicon.garden/lexicon/did:plc:mprdjqjluoswa7awzggaggj3/social.colibri.embed.getImage/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:mprdjqjluoswa7awzggaggj3/social.colibri.embed.getImage/examples)

## Definitions

### `social.colibri.embed.getImage`

**Type**: `query`

Proxies and returns an external image, guarding against SSRF.

#### Parameters

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `url` | `string` (uri) | Yes |  |

#### Output

**Encoding**: `*/*`

#### Errors

- **NotAnImage**: The linked resource is not an image type the AppView serves.
- **RateLimited**: The caller exceeded its rate budget.

## Raw Schema

```json
{
  "id": "social.colibri.embed.getImage",
  "defs": {
    "main": {
      "type": "query",
      "errors": [
        {
          "name": "NotAnImage",
          "description": "The linked resource is not an image type the AppView serves."
        },
        {
          "name": "RateLimited",
          "description": "The caller exceeded its rate budget."
        }
      ],
      "output": {
        "encoding": "*/*",
        "description": "The proxied image bytes (Content-Type is image/*)."
      },
      "parameters": {
        "type": "params",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "description": "Proxies and returns an external image, guarding against SSRF."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
