create_listing
Publish a listing on behalf of the user across any of the 4 verticals and 12 roles. location must be coordinates ({ lat, lon }) — a free-text address is not accepted, so geocode it first. Before publishing, call get_entitlements to confirm the user has credit and a free listing slot — a reached limit makes this return an ACTIVE_LISTING_LIMIT_REACHED error carrying a pay_url. Consumes credits and is held for AI moderation (status starts "pending"); credits are refunded if rejected, EXCEPT for prohibited or spam content, which forfeits the credit. To attach photos, first call request_image_upload for each image and pass the returned keys in images — every image is AI-moderated with the text before going live. Requires the user to be connected to Teppek: an anonymous call returns an AUTH_REQUIRED error with an authorize_url — surface "Connect with Teppek" to the user, then retry.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | The listing role — this alone fixes supply vs demand (do not send intent_type). vehicle_letter = you OWN the vehicle and are renting it OUT (lessor); for a user who WANTS to rent a vehicle use vehicle_renter. Likewise estate_landlord (renting out) vs estate_renter (wants to rent), estate_seller vs estate_buyer, career_employer (posting a job) vs career_seeker (a CV), service_pro (offering) vs service_client (wants a service). | |
| price | Yes | ||
| title | Yes | ||
| images | No | ||
| details | No | ||
| currency | Yes | ISO-4217 currency code matching the listing country (e.g. USD, EUR, GBP, TRY). Required — there is no default, to avoid silently mislabeling non-Turkish listings. | |
| location | Yes | Listing coordinates as { lat, lon }. A free-text address is NOT accepted — resolve it to coordinates before calling. | |
| vertical | Yes | ||
| description | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||