Robot Services Exchange (RSE)

Robot Services Exchange (RSE) API Documentation

A marketplace for robot services - bid on robot services or offer robot capacity.

API Status Check

curl https://rse-api.com:5002/ping

Authentication Endpoints

POST /register

Register a new user account.

Parameter Description
username Desired username for the new account (3-20 characters)
password Password for the new account (min 8 characters)

Response

Returns 200 on successful registration, 400 for invalid parameters.

POST /login

Authenticate a user and receive an access token.

Parameter Description
username User's registered username
password User's password

Response

Returns 200 with access token on success, 403 for invalid credentials.

Buyer Endpoints

Note: All buyer endpoints require authentication via username and password.

POST /submit_bid

Submit a new bid for a robot service.

Parameter Description
username Authenticated username
password User's password
service Detailed description of service requested (e.g., cleaning, delivery)
lat Latitude of the service location (-90 to 90)
lon Longitude of the service location (-180 to 180)
price Bid price for the service (in USD)
end_time Unix timestamp for when the bid expires

Response

Returns 200 with bid_id on success, 400 for missing parameters.

Seller Endpoints

Note: Seller endpoints require a valid supplier seat.

POST /grab_job

Attempt to accept an available job for a robot. Returns the highest-priced matching bid.

Parameter Description
capabilities List of robot capabilities (comma-separated)
lat Current latitude of the robot (-90 to 90)
lon Current longitude of the robot (-180 to 180)
max_distance Maximum distance the robot will travel (in miles)
seat Supplier seat credentials object:
{
    "id": "unique_seat_id",
    "owner": "seat_owner_name",
    "secret": "md5_hash_of_seat_phrase"
}

Response

Returns 200 with job details on success, 204 if no matching jobs found, 403 for invalid seat.

User Account Endpoints

Note: All account endpoints require authentication.

GET /account

Retrieve detailed information about the authenticated user's account, including profile data and bids.

Parameter Description
username Authenticated username
password User's password
include_bids Optional: Set to "true" to include user's bids in the response (default: true)
bid_status Optional: Filter bids by status (pending, matched, completed, cancelled)
limit Optional: Maximum number of bids to retrieve (default: 20)

Response

Returns 200 with user profile data including ratings, transaction history, account status, and recent bids.

POST /cancel_bid

Cancel a pending bid created by the authenticated user.

Parameter Description
username Authenticated username
password User's password
bid_id ID of the bid to cancel

Response

Returns 200 on successful cancellation, 400 if bid cannot be cancelled (already matched or completed), 404 if bid not found.

Shared Endpoints

Note: These endpoints require authentication via username and password.

POST /nearby

Retrieve bids within 10 miles of the specified location.

Parameter Description
username Authenticated username
password User's password
lat Latitude of the center point (-90 to 90)
lon Longitude of the center point (-180 to 180)

Response

Returns 200 with nearby bids, 400 for invalid parameters.

POST /sign_job

Sign off on a completed job and rate the counterparty. Both buyer and seller must sign to complete the job.

Parameter Description
username Authenticated username
password User's password
job_id ID of the completed job
star_rating Rating for the counterparty (1-5 stars)

Response

Returns 200 on success, 400 if already signed, 404 if job not found.

Messaging Endpoints

Note: All messaging endpoints require authentication via username and password.

POST /chat

Send a private message to another user.

Parameter Description
username Sender's username
password Sender's password
recipient Username of the message recipient
message Content of the message (max 1000 characters)

Response

Returns 200 with message_id on success, 404 if recipient not found.

GET /chat

Retrieve chat messages for the authenticated user.

Parameter Description
username Authenticated username
password User's password

Response

Returns 200 with messages array, sorted by timestamp descending.

Bulletin Board Endpoints

Note: All bulletin board endpoints require authentication via username and password.

POST /bulletin

Post a message to the public bulletin board.

Parameter Description
username Authenticated username
password User's password
title Title of the bulletin post (max 100 characters)
content Content of the bulletin post (max 2000 characters)
category Category of the post (e.g., announcement, job, general)

Response

Returns 200 with bulletin_id on success, 400 for invalid parameters.

GET /bulletin

Retrieve recent bulletin board posts.

Parameter Description
username Authenticated username
password User's password
category Optional: Filter posts by category
limit Optional: Maximum number of posts to retrieve (default: 20, max: 100)

Response

Returns 200 with bulletins array, sorted by timestamp descending.

System Check

GET /ping

Check if the API is operational. No authentication required.

Response

Returns 200 if system is operational.