---
title: "Poll the validation of a photo"
method: GET
path: "/angles/{angle}/validation"
tags: ["Views"]
---

# Poll the validation of a photo

`GET /angles/{angle}/validation`

## Request

- Base URL: `https://api.getfacade.ai/api/v1`
- URL: `https://api.getfacade.ai/api/v1/angles/{angle}/validation`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.getfacade.ai/oauth/authorize`, token URL `https://api.getfacade.ai/oauth/token`, scopes: `agent`)

`is_in_progress` says whether the server is still reading the photo; poll until it is
`false`, and read that flag rather than matching on `status`. A rejected photo cannot
be rendered.

## Path parameters

- `angle` string, required

## Response `200`

Validation state

- object
  - `data` object
    - `type` 'angle-validation'
    - `id` string
    - `attributes` object
      - `status` string
      - `is_in_progress` boolean
      - `is_valid` boolean, nullable
      - `validation_failure_reason` string, nullable
      - `recommendations` string[], nullable

## Other responses

- `401`: The key is missing, revoked or expired. Re-issuing a key is a human action.
- `429`: Rate limited on this key's own bucket, separate from the human sessions of the same account. Refusal is deliberately cheap: back off, do not retry in a tight loop.

---

[API](https://skmtc.dev/getfacade/apis/getfacade-agent-api.md) · [All operations](https://skmtc.dev/getfacade/apis/getfacade-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getfacade/apis/getfacade-agent-api/revisions/2b52eda7362c?raw)
