Skip to main content
POST
/
agents
Register a new agent
curl --request POST \
  --url https://olive-gateway-a6ba.onrender.com/api/v1/agents \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "agent_pin": "1234",
  "agent_type": "super_agent",
  "business_address": "45 Business Road",
  "business_name": "ABC Money Transfer",
  "contact_person": "Michael Smith",
  "district": "Western Urban",
  "kyc_documents": [
    "[\"https://s3.amazonaws.com/doc1.pdf\"]"
  ],
  "phone_number": "0778888888"
}
'
{
  "agent_id": "<string>",
  "email": "<string>",
  "instructions": "<string>",
  "login_url": "<string>",
  "message": "<string>",
  "password": "<string>",
  "success": true
}

Authorizations

Authorization
string
header
required

API Key for third-party integrations (WhatsApp, Smart PAY, VULT). Format: 'Bearer olive_live_xxxxxxxxxxxxx'

Body

application/json

Agent registration details

agent_pin
string
required
Example:

"1234"

agent_type
enum<string>
required

Required fields

Available options:
super_agent,
sub_agent
Example:

"super_agent"

business_address
string
required
Example:

"45 Business Road"

business_name
string
required
Example:

"ABC Money Transfer"

contact_person
string
required
Example:

"Michael Smith"

district
string
required
Example:

"Western Urban"

kyc_documents
string[]
required
Example:
["[\"https://s3.amazonaws.com/doc1.pdf\"]"]
phone_number
string
required
Example:

"0778888888"

commission_tier
integer

Default = 1

Required range: 1 <= x <= 3
Example:

1

email
string

Optional fields

Example:

"michael@abc.com"

parent_agent_id
string

Conditionally required

Example:

""

settlement_mode
enum<string>

Default = instant

Available options:
instant,
weekly,
monthly
Example:

"instant"

Response

Agent registered successfully

agent_id
string
email
string
instructions
string
login_url
string
message
string
password
string
success
boolean