Wishes API

Create, retrieve, update, and delete wishes through the soft.house API.

Create a Wish

POST /wishes

Request Body

ParameterTypeRequiredDescription
querystringYesNatural language description
budgetobjectNoBudget constraints
budget.maxnumberNoMaximum budget
budget.currencystringNoCurrency code (default: USD)
protocolstringNoProtocol preference: ap2, acp, auto
categorystringNoProduct category
metadataobjectNoCustom key-value pairs

Example

curl -X POST https://api.soft.house/wishes \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "query": "Find me a laptop under $1500",
    "budget": { "max": 1500, "currency": "USD" },
    "protocol": "auto"
  }'

Response (201 Created)

{
  "data": {
    "id": "wish_abc123",
    "status": "active",
    "query": "Find me a laptop under $1500",
    "budget": { "max": 1500, "currency": "USD" },
    "protocol": "ap2",
    "created_at": "2026-01-20T10:30:00Z",
    "updated_at": "2026-01-20T10:30:00Z"
  }
}

List Wishes

GET /wishes

Query Parameters

ParameterTypeDefaultDescription
limitnumber10Items per page
offsetnumber0Offset for pagination
statusstring-Filter by status

Response (200 OK)

{
  "data": [
    {
      "id": "wish_abc123",
      "status": "active",
      "query": "Find me a laptop under $1500",
      "budget": { "max": 1500, "currency": "USD" },
      "protocol": "ap2",
      "created_at": "2026-01-20T10:30:00Z"
    }
  ],
  "meta": { "total": 12, "limit": 10, "offset": 0 }
}

Get a Wish

GET /wishes/:id

Returns a single wish by ID.

Update a Wish

PUT /wishes/:id

Request Body

ParameterTypeDescription
querystringUpdated search query
budgetobjectUpdated budget
statusstringNew status
metadataobjectUpdated metadata

Delete a Wish

DELETE /wishes/:id

Returns 204 No Content on success.

Wish Statuses

StatusDescription
activeCurrently being processed
pendingWaiting for agent assignment
fulfilledSuccessfully completed
cancelledCancelled by user
expiredExceeded time limit