canonical: https://jentic.com/apis/proxypics.com/proxypics

# ProxyPics API

The ProxyPics API orders on-site property photo requests, which a crowdsourced data collector or the property owner fulfils, and lets you approve or reject the submitted photos. It also creates appraisal requests such as automated valuations and BPOs, exchanges messages on an order, and registers webhooks for events like assignment, completion, and report generation. A separate sandbox instance at sandbox.proxypics.com lets you simulate photo submission and review before ordering live.

## For AI agents

Order property photo requests by address, extend or cancel them, and approve or reject the submitted photos with a reason. Also creates AVM and BPO appraisal requests and manages webhooks and API keys.

## Scope

Does not handle property listing search, title records, or full licensed appraisals by itself. Use for ordering and reviewing on-site property photo and valuation requests only.

## Capabilities

- Order a property photo request for an address from a template token, or with your own task list on the crowdsource or direct platform
- Approve submitted photos, or reject them with a reason such as blurry_photo, wrong_direction, or incorrect_property
- Extend a photo request's expires_at, duplicate an existing order, or cancel one that is no longer needed
- Create appraisal requests of type AutomatedValuationRequest, EvaluationRequest, or AppraisalFormRequest and approve the result
- Send and read messages on a photo request to talk to the assigned data collector
- Register GET or POST webhooks and toggle which order events notify your company

## Use cases

### Agent-managed property photo orders

An AI agent working a lending or insurance queue can order a ProxyPics photo request for each property address, watch its status, and review the result. When photos come back it approves them, or rejects them with a reason from the API's list such as blurry_photo or people_in_photo so the collector can retake them, keeping the file moving without a human opening the web app.

Example prompt: Create a photo request for address 12 Main St, Springfield, IL with a template_token and loan_number LN-4471, then approve it once its status shows completed

### Automated valuation and BPO ordering

Lenders and servicers order a value opinion alongside photos. The appraisal-requests operations take an address and a type of AutomatedValuationRequest for an AVM, EvaluationRequest for a simple BPO, or AppraisalFormRequest for a BPO with adjustments, with an optional report_provider of ca or quantarium, then return the request for review and approval.

Example prompt: Create an appraisal request with type AutomatedValuationRequest and report_provider quantarium for 40 Oak Ave, Austin, TX

### Order event webhooks

Instead of polling, an integration registers a webhook URL with a get or post method and optional basic-auth username and password. ProxyPics then sends events such as PhotoRequestAssigned, AppointmentScheduled, and PhotoRequestReportGenerated, and the company settings decide which events trigger a webhook or an email.

Example prompt: Create a webhook with url https://hooks.example.com/proxypics and method post, then list webhooks to confirm it was registered

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/photo-requests` | Create a photo request |
| GET | `/photo-requests/{id}` | Show a photo request |
| PUT | `/photo-requests/{id}/approve` | Approve a photo request |
| PUT | `/photo-requests/{id}/reject` | Reject a photo request with a reason |
| PUT | `/photo-requests/{id}/extend` | Extend a photo request expiry |
| POST | `/appraisal-requests` | Create an appraisal request |
| POST | `/webhooks` | Create a webhook |

## Key resources

- **Photo requests** — On-site property photo orders with address, tasks or template, expiry, and review status
- **Photo request templates** — Products that predefine the photo tasks for an order
- **Appraisal requests** — AVM and BPO valuation orders for a property address
- **Messages** — Conversation with the data collector on a photo request
- **Webhooks** — Endpoints that receive photo request and appraisal events
- **CSV uploads** — Bulk order uploads and their processing results

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 50 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 80 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 30 / 100
  - Agent Usability: 94 / 100
  - Security: 33 / 100
  - AI Discoverability: 63 / 100
- **View full report:** https://jentic.com/apis/proxypics.com/proxypics/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring ProxyPics by hand means choosing between its x-api-key header and api_key query parameter, switching between the live and sandbox hosts, and building the photo request body with either a template_token or a task list. Through Jentic you install once, import ProxyPics from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** ProxyPics puts the photo request id in the URL path (`/photo-requests/{id}/...`), so a rule can pin your agent to one order and the operations you pick. You choose the operations it may call, so ones like creating paid orders, cancelling requests, or creating API keys are not included unless you add them.
- **Credential handling:** Your ProxyPics API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'order property photos' or 'reject inspection photos', and Jentic returns the matching ProxyPics operation with its input schema so the agent calls the right endpoint without reading the reference docs.

## Related APIs

- **Fulcrum API** — Fulcrum collects field data and photos with your own team's mobile forms rather than a crowdsourced collector network.
- **Melissa Property Data API** — Melissa returns assessor, deed, mortgage, and ownership records for the address being photographed.
- **Zillow Property Data** — APIllow returns Zillow listing and property details for an address.

## FAQ

### What authentication does the ProxyPics API use?

The ProxyPics API authenticates with an API key, which its OpenAPI spec lets you send either in the x-api-key header or as the api_key query parameter. You generate keys on the Integrations tab of your ProxyPics profile. Through Jentic the key is stored once and injected at call time, so it never appears in your agent's prompt or logs.

### Can I reject photos and ask for a retake with the ProxyPics API?

Yes. PUT `/photo-requests/{id}/reject` takes a required reason from a set including blurry_photo, wrong_direction, incorrect_property, people_in_photo, and property_not_visible, plus an optional clarification for the collector. PUT `/photo-requests/{id}/approve` accepts the photos instead.

### What are the rate limits for the ProxyPics API?

The OpenAPI spec does not specify rate limits for the ProxyPics API. Check the ProxyPics API reference at https://app.swaggerhub.com/apis-docs/proxypics/proxypics-api/1.0.0 for current limits before bulk ordering.

### How do I order a property photo request with the ProxyPics API through Jentic?

Search Jentic for 'order property photos', which returns POST /photo-requests with its input schema, then send the required address along with a template_token, or a photo_request_platform and tasks list if you have no template. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Is there a sandbox for testing the ProxyPics API?

Yes. The spec lists a sandbox server on the sandbox.proxypics.com host, a separate ProxyPics instance where requests are never completed by real collectors and you can simulate submission, approval, and rejection. It needs its own account and API key from sandbox-app.proxypics.com.

### Is there a ProxyPics MCP server?

You don't need an MCP server to give your agent the ProxyPics API. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls it, with operations found on demand instead of a full tool list loaded into context.

### Can I limit what my agent is allowed to do with the ProxyPics API?

Yes. Write a rule that allows only listing and showing photo requests plus the approve and reject operations, so the agent can review submitted photos but cannot place new paid orders, create API keys, or change company settings, and every call it makes is logged.
