Menu
Services Software Jobs Community blog Become a seller Messages Support tickets Developers Contact
EFAZI / DEVELOPERS

Build with Efazi.

Find the right service, read an order or give an assistant access to a conversation. Start with a live catalog request.

Try the API → Manage access keys
FIRST REQUEST · PUBLIC
curl -H 'Accept: application/json' \
  'https://efazi.com/agent-api/v1/catalog/service?limit=1'
01 / INTERACTIVE EXPLORER

Search the live catalog

Pick a catalog and enter a word from the listing title. Results come directly from the public API.

RESPONSE
Send a request to see its response.

02 / CONNECTIONS

Choose your client

Start with a public search, or connect a private client to your account.

ChatGPT Actions

In the GPT editor, create an action, choose None for authentication and import this schema from its URL. Try searchCatalog.

Public catalog schema ↗

OpenAI Agents SDK · Python

Install openai-agents and run this script to discover tools on the public MCP server. This example makes no model call.

import asyncio
from agents.mcp import MCPServerStreamableHttp

async def main():
    async with MCPServerStreamableHttp(
        name="Efazi", params={"url": "https://efazi.com/mcp"}
    ) as server:
        for tool in await server.list_tools():
            print(tool.name)

asyncio.run(main())

Official SDK examples ↗ · Instructions for other MCP clients

03 / API v1

API reference

Use https://efazi.com/agent-api/v1 as the base URL. Send Accept: application/json with each request.

Catalog PublicGET /catalog/{kind}

Search service, job or software by title with search, min and max. Limit is 1–10, default 5. Results are newest first.

Listing details PublicGET /catalog/{kind}/{id}

Read the description, seller, price and listing URL. Services also include delivery time and extras.

Profile and balance account / balanceGET /member/account · GET /member/balance

Each endpoint needs its corresponding permission. Balance includes the currency.

Orders ordersGET /member/orders · GET /member/orders/{id}

List the latest 20 orders you participate in, or open one order with its recent messages.

Conversations inboxGET /member/inbox · GET /member/inbox/{id}

Read your latest 20 conversations or the most recent 20 messages in one conversation.

Reply to a conversation replyPOST /conversations/{id}/reply

Send JSON with text (up to 2,000 characters) and request_id (a UUID). Reuse the same UUID and content when retrying with the same key. The limit is 20 replies per member per hour.

Notification history alertsGET /member/alerts

Read up to 20 recent notification records, including channel and timestamp.

Inspect or disconnect a key Any valid keyGET /connection · DELETE /connection

Inspect the permissions and expiry of the key used for the request. DELETE immediately revokes that key.

04 / ACCOUNT ACCESS

Keys, limits and errors

Create a named key with only the permissions your client needs. Copy it when issued and send it in the Authorization: Bearer header. Keys last 30 days. You can keep up to ten active keys.

AUTHENTICATED REQUEST
curl 'https://efazi.com/agent-api/v1/connection' \
  -H 'Accept: application/json' \
  -H "Authorization: Bearer $EFAZI_KEY"

The REST routes share a limit of 120 requests per minute. For a 429 response, wait before retrying. 401 means the key is missing, expired or revoked. 403 means the required permission or account access is missing. 404 can mean a record is outside your account. 409 means a reply UUID was reused with different content. 422 identifies invalid input.

05 / INTEGRATION RECIPES

From a search to a decision

Build a shortlist on a budget

Search the service catalog with a maximum price. Use the ID of a result to read its scope, delivery time and extras. The list price is a starting price.

Try services under $25 →

Check a service before suggesting it

Read GET /catalog/service/{id}. If seller_payment_blocked is true, show the listing for reference. A false value alone does not confirm that checkout is available.

Retry a reply safely

Generate a UUID for request_id before sending. If the response is lost, retry with the same key, UUID, conversation and text. If the API returns 409, check the original message before sending anything else.

Download the runnable request collection ↓

We may use cookies or any other tracking technologies when you visit our website, including any other media form, mobile website, or mobile application related or connected to help customize the Site and improve your experience. Read our cookie policy