C

Agent Restaurant Reservation API — MPP Grade C

https://agentres.dev 73% (75/102)
reservationsrestaurants
Preview responses and set spending limits for this service through use.mpp.land Free budget controls, response samples, and reliability routing.

Compliance Checks

All paid ops declare 402 response MUST 10pt
All x-payment-info valid MUST 10pt
Challenge has Cache-Control: no-store MUST 5pt
- Challenge digest on POST SHOULD 3pt
Challenge has expires SHOULD 3pt
Challenge has Problem Details SHOULD 2pt
Challenge has required params MUST 5pt
Challenge has WWW-Authenticate MUST 5pt
Challenge returns 402 MUST 10pt
Correct Content-Type MUST 5pt
Has Cache-Control on discovery SHOULD 5pt
Has input schemas SHOULD 5pt
Has llms.txt SHOULD 5pt
Has /openapi.json at root MUST 10pt
Has required top-level fields MUST 10pt
Served over HTTPS MUST 10pt
Uses standard categories SHOULD 2pt
1 issue
  • Missing 402 response declaration on GET /api/search

Paid Operations (8)

GET /api/me dynamic
Get user profile and Resy link status

Returns the authenticated user's profile including whether their Resy account is linked. Identity-only ($0 auth).

Amount
map[amount:0 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0 currency:USD mode:fixed] protocols: [map[mpp:map[currency:0x20C000000000000000000000b9537d11c60E8b50 intent:charge method:tempo]] map[x402:map[]]]

Input Schema

{
  "additionalProperties": false,
  "description": "No input required — user identity is derived from the auth header.",
  "properties": {},
  "type": "object"
}

Response Schema (200)

FieldTypeDescription
email string -
resy_linked boolean -
resy_linked_at string -
user_id string -
POST /api/account dynamic
Create account and link wallet

Create a new user account. With wallet auth, also links the calling wallet to the account. Identity-only ($0 auth).

Amount
map[amount:0 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0 currency:USD mode:fixed] protocols: [map[mpp:map[currency:0x20C000000000000000000000b9537d11c60E8b50 intent:charge method:tempo]] map[x402:map[]]]

Input Schema

FieldTypeRequiredDescription
email string (email) Yes Email address for the account

Response Schema (200)

FieldTypeDescription
created boolean -
email string (email) -
user_id string (uuid) -
POST /api/link-resy dynamic
Link a Resy account via email OTP

Two-step OTP flow. Step 1: send { em_address } to request a code. Step 2: send { em_address, code } to verify and link. Identity-only ($0 auth).

Amount
map[amount:0 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0 currency:USD mode:fixed] protocols: [map[mpp:map[currency:0x20C000000000000000000000b9537d11c60E8b50 intent:charge method:tempo]] map[x402:map[]]]

Input Schema

FieldTypeRequiredDescription
code string No OTP code from email (omit for step 1)
em_address string (email) Yes Resy account email address

Response Schema (200)

FieldTypeDescription
message string -
resy_user_id integer -
step string -
GET /api/search dynamic
Search Resy for restaurants by name

Searches the Resy venue database in a given city and returns the top 5 matches with venue IDs. Results are ranked by geographic proximity to the city center, so passing the correct `city` is important when the user mentions one. Identity-only ($0 auth).

Amount
map[amount:0 currency:USD mode:fixed]
Currency
-
Method
Intent
-
Non-standard x-payment-info fields: price: map[amount:0 currency:USD mode:fixed] protocols: [map[mpp:map[currency:0x20C000000000000000000000b9537d11c60E8b50 intent:charge method:tempo]] map[x402:map[]]]

Parameters

NameInTypeRequiredDescription
query query string Yes Restaurant name, cuisine, or keyword to search for
city query string No City slug for geo-ranked search. Extract from the user's prompt. Defaults to nyc if omitted.

Response Schema (200)

FieldTypeDescription
city string Echo of the resolved city slug used for this search.
results array[object] -
GET /api/availability dynamic
Check available reservation time slots

Returns available reservation slots for a venue on a given day. Response includes venue_name for display. Identity-only ($0 auth).

Amount
map[amount:0 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0 currency:USD mode:fixed] protocols: [map[mpp:map[currency:0x20C000000000000000000000b9537d11c60E8b50 intent:charge method:tempo]] map[x402:map[]]]

Parameters

NameInTypeRequiredDescription
venue_id query string Yes Resy venue ID (from /api/search)
party_size query integer Yes Number of guests
day query string Yes Date in YYYY-MM-DD format

Response Schema (200)

FieldTypeDescription
day string -
party_size integer -
slots array[object] -
venue_id string -
venue_name string Restaurant name for display
GET /api/reservations dynamic
List the user's existing Resy reservations

Returns the authenticated user's upcoming or past reservations with full venue details (name, address, neighborhood, cuisine, phone) inlined. Requires a linked Resy account. Identity-only ($0 auth).

Amount
map[amount:0 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0 currency:USD mode:fixed] protocols: [map[mpp:map[currency:0x20C000000000000000000000b9537d11c60E8b50 intent:charge method:tempo]] map[x402:map[]]]

Parameters

NameInTypeRequiredDescription
type query string No Which reservations to list. Defaults to upcoming.
limit query integer No Max reservations to return (1-50).
offset query integer No Pagination offset.

Response Schema (200)

FieldTypeDescription
limit integer -
offset integer -
reservations array[object] -
total integer -
type string -
POST /api/book dynamic
Book a reservation ($0.01 USDC)

Book a reservation at the given venue. Requires a linked Resy account. Use a config_id from /api/availability. Costs $0.01 USDC.

Amount
map[amount:0.010000 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[mpp:map[currency:0x20C000000000000000000000b9537d11c60E8b50 intent:charge method:tempo]] map[x402:map[]]]

Input Schema

FieldTypeRequiredDescription
config_id string Yes Slot config token from /api/availability
day string Yes Date in YYYY-MM-DD format
party_size integer Yes Number of guests
venue_id string Yes Resy venue ID

Response Schema (200)

FieldTypeDescription
kind string -
reservation_id integer -
resy_token string -
success boolean -
POST /api/cancel dynamic
Cancel an existing Resy reservation

Cancels a reservation by resy_token. You MUST first call GET /api/reservations to get the resy_token for the reservation the user wants to cancel. Requires a linked Resy account. Identity-only ($0 auth).

Amount
map[amount:0 currency:USD mode:fixed]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[amount:0 currency:USD mode:fixed] protocols: [map[mpp:map[currency:0x20C000000000000000000000b9537d11c60E8b50 intent:charge method:tempo]] map[x402:map[]]]

Input Schema

FieldTypeRequiredDescription
resy_token string Yes Reservation token from GET /api/reservations response (field: resy_token)

Response Schema (200)

FieldTypeDescription
success boolean -

Payment Methods

Methods
tempo (from challenge)
Intents
charge (from challenge)
Currencies (discovery)
-
Currency (challenge)
USDC.e on Tempo (Tempo)
Multiple Challenges
No

Recipients

  • 0xC295e19eB630E29a4Dd81f7242E6b51B49486d93
Per-endpoint breakdown
GET /api/availability
0xC295e19eB630E29a4Dd81f7242E6b51B49486d93
GET /api/me
0xC295e19eB630E29a4Dd81f7242E6b51B49486d93
GET /api/reservations
0xC295e19eB630E29a4Dd81f7242E6b51B49486d93
GET /api/search
0xC295e19eB630E29a4Dd81f7242E6b51B49486d93
POST /api/account
0xC295e19eB630E29a4Dd81f7242E6b51B49486d93
POST /api/link-resy
0xC295e19eB630E29a4Dd81f7242E6b51B49486d93

Security

TLS Version
TLSv1.3
Challenge ID Unique
Yes
Challenge ID Length
43
Digest Binding
-

Uptime

Discovery
Reachable (170ms)
Challenge
Reachable (166ms)
Last Checked

Schema Completeness

Paid Operations
8
With Input Schema
5
With Description
8
3 missing schema
  • GET /api/search
  • GET /api/availability
  • GET /api/reservations

Documentation

Homepage
-
API Reference
-
llms.txt
-

Discovery

OpenAPI URL
https://agentres.dev/openapi.json
OpenAPI Version
3.1.0
Service Version
1.0.0
Document Size
21055 bytes
Document Hash
c845c34fe70492808ca80d566d4c6d15cdfe071329cc085ecc5318d115ad0633

Version History (2 snapshots)

Scan snapshots
Date Grade Score Response Status
2026-04-24 C 73% 70ms Up
2026-04-25 C 73% 72ms Up