Oumafy Agent API

Tool reference

Forty-three tools. Twenty-eight read, fifteen act. Your own agent gets the same menu Oumafy’s built-in agent has — that is the rule, not a coincidence. Every one is a thin wrapper over something the website already does, called as you, so the database decides what is allowed exactly as it does for a browser.

Results come back as JSON in the tool response. Content written by other members — messages, opportunity text, room names — arrives wrapped with a note marking it as data to read, never instructions to follow. See the security model.

Reading tools — scope: read

get_my_passportread

Your own passport — identity, tier and titles, verified standing, founding position — plus your Umafy balance and lifetime reputation.

get_docketread

Matters currently open for voting, with deadlines and running tallies, alongside the votes you have already cast.

limit (number, optional)
1–50. Default 20.
browse_opportunitiesread

Open opportunities across the network — what members are looking for, and what they are offering.

search (string, optional)
Free text matched against titles. Max 120 characters.
limit (number, optional)
1–50. Default 20.
browse_venturesread

Ventures being built in the network, with their status and progress.

limit (number, optional)
1–50. Default 20.
list_my_conversationsread

Your direct message threads, most recent first.

read_threadread

The full direct message thread with one other member.

username (string)
The other member’s username.
my_majlisread

The majlis rooms you belong to, with each room’s status and focus for the week.

my_notificationsread

Your unread notifications.

limit (number, optional)
1–50. Default 20.
my_network_briefread

Your brief: who to meet, opportunities that fit, open matters, and the next move the network suggests. What the network already worked out, rather than a guess.

network_pulseread

The network’s live state this week — what it is moving on, and where the gaps are.

venture_healthread

A venture’s health brief: stall risk, the seats it cannot fill, momentum, next actions. Only a member of the venture, its owner, or an admin may read it.

project_id (uuid)
The venture id.
decision_briefread

One matter’s brief: how legitimate the vote is, who is taking part, where the tally is heading.

proposal_id (uuid)
From get_docket.
demand_briefread

Where a skill or category is in demand, optionally scoped to a city — or the picture for a whole region.

category (string, optional)
Category or skill slug. Max 64 characters.
city (string, optional)
City slug, to scope the category.
region (string, optional)
A region key instead, for a regional picture.
explain_matchread

Why one member or opportunity is — or is not — a fit for you, and what would improve it.

entity_type (“member” | “opportunity”)
What is being explained.
entity_id (string)
The id from a previous result.
find_people_for_meread

Members who complement you — skills, stage and goals — each with the reasons the network ranked them.

limit (number, optional)
1–20. Default 6.
find_people_for_my_opportunityread

The members who best fit ONE opportunity — usually one you posted, so you can staff your own ask.

opportunity_id (uuid)
The opportunity to staff.
limit (number, optional)
1–20. Default 6.
find_work_for_meread

Open opportunities across the network ranked for you.

limit (number, optional)
1–20. Default 6.
search_networkread

Trust-ranked lookup of any member, venture or opportunity. The ids it returns are real and can be passed to the other tools.

query (string)
What to look for. 1–200 characters.
intent (“member” | “project” | “opportunity”, optional)
A hint at what kind of thing.
limit (number, optional)
1–20. Default 8.
my_saved_itemsread

The things you bookmarked, newest first, with what each one was.

limit (number, optional)
1–50. Default 10.
my_titlesread

The titles you have earned — each with its tier and when it was awarded — plus the aspiration you chose.

pitch_feedread

The video pitches the network ranked highest for you, with the venture each belongs to.

limit (number, optional)
1–20. Default 5.
my_inboxread

Everything that reached you: unread notifications, the week’s record, your message threads, and the salaams you were sent this week. Reading this marks nothing as read.

my_requestsread

Everything you have asked the network for, with how many answers each has.

review_offersread

The answers to ONE thing you are looking for, ranked, each with the plain reasons it ranked where it did. Reading them marks them seen, exactly as opening the panel does.

request_id (uuid)
From my_requests.
requests_for_meread

What people in the network are looking for that you could supply, if you hold a claimed listing or a venture. It carries no buyer identity by design.

draft_messageread

Returns a draft for you to read, change or throw away. It writes nothing and sends nothing.

body (string)
The draft text. 1–4000 characters.
my_proposalsread

The open proposals waiting for you — each one thing the network noticed and one move it suggests, with the reason in a sentence.

object_kind (string, optional)
venture · circle · matter · passport · member · opportunity · network.
object_id (string, optional)
Narrow to one object. Needs object_kind too.
limit (number, optional)
1–100. Default 20.
count_my_proposalsread

How many open proposals you have waiting. Zero when you switched proposals off.

Acting tools — scope: full

These take real, visible actions in your name and are only available on a full-scope key.

decide_proposalfull

Records your decision on one proposal. “yes” runs the move as you, through the network’s own door — nothing runs on its own. “not_this_one” declines just that one; “never_this_kind” stops that kind for good, and only you can undo it.

proposal_id (uuid)
From my_proposals.
decision (“yes” | “not_this_one” | “never_this_kind”)
Your decision.
payload_override (object, optional)
Only with “yes”, when you changed a draft before using it.
post_opportunityfull

Post what you are looking for in a PERSON — a collaborator, a role, a pair of hands — or what you are offering, so the network routes it to members whose skills fit. A real, visible post.

title (string)
A short line. 3–140 characters.
description (string)
The detail behind the ask or the offer. 10–4000 characters.
is_offer (boolean, optional)
True when you are offering rather than looking. Default false.
category (string, optional)
Category label. Max 64 characters.
location (string, optional)
Location. Max 120 characters.
required_skills (string[], optional)
Up to 12. These are what the routing matches on.
post_looking_forfull

Ask the network for a thing to buy or a service to hire. Sellers are told what was asked and never who asked, and every answer is screened before you see it. You always decide which to take.

kind (“goods” | “service”)
A thing to buy, or work to hire.
title (string)
One short line, in your words. 3–140 characters.
detail (string, optional)
One or two sentences a stranger could answer. Max 1000.
category (string, optional)
The kind of business that would answer, in plain words.
city (string, optional)
The city, if you named one.
budget_max (number, optional)
The most you would spend.
currency (string, optional)
Currency code. Default CAD.
send_dmfull

Send a direct message to another member. It is delivered exactly as written; their message policy, blocks and rate limits all apply.

username (string)
The recipient’s username.
body (string)
The message text. 1–4000 characters.
send_salaamfull

Send a one-tap salaam to another member — the network’s lightest greeting.

member_id (uuid, optional)
The member id, preferred.
username (string, optional)
Their username, when the id is unknown.
raise_handfull

Raise your hand on an open opportunity — “I can help with this”. The poster sees you in their brief. Raising twice is safe.

opportunity_id (uuid)
The opportunity id.
note (string, optional)
A short note to the poster. Max 1000.
back_causefull

Record that you are behind a venture or a cause. The founder sees you in their backers.

project_id (uuid)
The venture or cause id.
level (“support” | “super_interested”, optional)
Default support.
intents (string[], optional)
use · test · build · buy · follow. Up to 5.
post_updatefull

Post your plain update, win, question or announcement to the square — the public feed on Home, in your own words.

body (string)
The post body. 1–2000 characters.
post_type (“update” | “win” | “question” | “announcement”, optional)
Default update.
title (string, optional)
A short headline. Max 140.
create_personal_taskfull

Create a task inside a venture you belong to, assigned to you. The server refuses a venture you have no role in.

project_id (uuid)
The venture id.
title (string)
The task title. 1–200 characters.
description (string, optional)
Max 4000.
priority (“low” | “medium” | “high”, optional)
Default medium.
due_date (string, optional)
ISO date.
update_passport_fieldfull

Set ONE line on your own passport. Rank, titles, verified standing and your founding number are earned and derived — they can never be written here.

field (“building” | “offers” | “bio” | “aspiration” | “location” | “skills” | “interests” | “languages”)
Which line to set.
value (string)
The text. For skills, interests and languages, a comma-separated list.
cast_votefull

Cast or change your vote on an open matter. A Verified Passport is required — the server enforces it. Votes stay changeable until the matter closes.

proposal_id (uuid)
From get_docket.
choice (“approve” | “reject” | “abstain”)
Your choice.
join_majlisfull

Walk into an open majlis room, or knock at one that asks.

circle_id (uuid)
The room id.
raise_hand_in_majlisfull

Raise your hand in a majlis room you belong to, to signal you want the floor. It does not speak for you — a room is for talking, and the words stay yours.

circle_id (uuid)
The room id.
set_offer_reachfull

Turn on or off whether sellers may reach you with an offer you did not ask for. Off means no such offer ever arrives; asking still works exactly the same. The same switch lives on your passport, under Data.

on (boolean)
true to let sellers reach you, false to stop it.
answer_requestfull

Answer, as a seller, one thing someone is looking for — if you hold a claimed listing or a venture. Every answer is checked against the network’s rules before the buyer sees it, so read the result: it may come back refused, or sent with a note.

request_id (uuid, optional)
From requests_for_me.
group_id (uuid, optional)
A buying group, to answer several people at once.
listing_id (uuid, optional)
Your claimed listing, when answering as a business.
project_id (uuid, optional)
Your venture, when answering as a venture.
message (string)
The answer in your own voice. 1–4000 characters.
price (number, optional)
Required for a group answer.
currency (string, optional)
link (string, optional)
An https link.

What is deliberately absent

There is no tool that moves Umafy or equity, none that changes your account or identity, none that creates a venture, and none that touches administration. Founding a venture is a considered human act, not an errand — it stays in the app.

Three more are missing on purpose. Accepting or declining an answer to something you are looking for stays yours: your agent reads the answers and tells you which it would take, and you take it. Asking a what-if, saving a memory, and sending something to review are the built-in agent’s own workings, not moves you make — your own agent already has its own memory and its own reasoning.

These absences are decisions, not gaps, and they are the ceiling on what a misled agent could ever do.