On this page
Login Sign up

Getting started

The EASE Partner API is a gated JSON API at /api/v1/. It is not open public data — you need an API key issued by EASE after your access request is approved. Partner self-serve requests are limited to read scopes (resource:read). Write, update, and delete scopes (resource:write, :update, :delete) are assigned only by administrators for EASE management apps.

  1. Create a Partner API account (Sign up) and verify your email.
  2. Sign in and request a Development or Production key from your account.
  3. When approved, copy your key from the account page (keys are never emailed).
  4. Call the API with your key. Use this page or the interactive OpenAPI UI for samples.

OpenAPI interactive docs Partner endpoints require a valid API key.

Authentication

Send your key on every request using either header:

Bearer token
Authorization: Bearer YOUR_API_KEY
API key header
X-API-Key: YOUR_API_KEY
curl — discover resources
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/"
Python — discover resources
import requests

url = "https://www.easeempowerment.org/api/v1/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Keys look like ease_…. Store them like passwords. After approval, copy your key from your Partner API account — it is never emailed.

Scopes

Each client is granted only the scopes it needs. Without a scope, the matching endpoint returns HTTP 403. The special scope pii:read unlocks phone, email, address, and similar identity fields where applicable.

Partner key requests may only ask for the read scopes listed below. Administrators can also grant resource:write (POST), resource:update (PUT/PATCH), and resource:delete (DELETE) for EASE offline management apps.

Scope Description
students:read Students (read)
program_enrollments:read Program enrollments (read)
academic_progress:read Academic progress (read)
student_documents:read Student documents (read)
donors:read Donors (read)
donations:read Donations (read)
donor_student_relationships:read Donor–student relationships (read)
donor_project_relationships:read Donor–project relationships (read)
donor_farmer_relationships:read Donor–farmer relationships (read)
donor_cooperative_relationships:read Donor–cooperative relationships (read)
projects:read Projects (read)
project_beneficiaries:read Project beneficiaries (read)
activities:read Activities (read)
activity_participants:read Activity participants (read)
activity_photos:read Activity photos (read)
activity_documents:read Activity documents (read)
farmers:read Farmers (read)
cooperatives:read Cooperatives (read)
cooperative_members:read Cooperative members (read)
cooperative_executives:read Cooperative executives (read)
cooperative_documents:read Cooperative documents (read)
farmer_documents:read Farmer documents (read)
organization:read Organization (read)
departments:read Departments (read)
programs:read Programs (read)
subprograms:read Sub-programs (read)
founders:read Founders (read)
employees:read Employees (read)
positions:read Positions (read)
org_chart:read Organizational chart (read)
inquiries:read Inquiries (read)
inquiry_replies:read Inquiry replies (read)
certificates:read Certificates (read)
certificate_templates:read Certificate templates (read)
contracts:read Contracts (read)
news:read News (read)
galleries:read Galleries (read)
photos:read Photos (read)
testimonials:read Testimonials (read)
reports:read Reports (read)
publications:read Publications (read)
scholarships:read Scholarships (read)
pii:read PII fields (phone, email, address, identity)

Partner endpoints

All list endpoints return paginated JSON: count, next, previous, results. Default page size is 50 (max 200). Replace YOUR_API_KEY and host as needed.

Students

GET /api/v1/students/ GET /api/v1/students/{id}/ students:read May include PII

Student / beneficiary registry. Contact fields require pii:read.

Filters: search, status.

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/students/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/students/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/students/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/students/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Program enrollments

GET /api/v1/program_enrollments/ GET /api/v1/program_enrollments/{id}/ program_enrollments:read

Student enrollments in programmes / sub-programmes.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/program_enrollments/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/program_enrollments/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/program_enrollments/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/program_enrollments/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Academic progress

GET /api/v1/academic_progress/ GET /api/v1/academic_progress/{id}/ academic_progress:read

Academic progress records for students.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/academic_progress/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/academic_progress/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/academic_progress/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/academic_progress/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Student documents

GET /api/v1/student_documents/ GET /api/v1/student_documents/{id}/ student_documents:read May include PII

Documents attached to student records. File URLs may expose identity context.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/student_documents/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/student_documents/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/student_documents/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/student_documents/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Donors

GET /api/v1/donors/ GET /api/v1/donors/{id}/ donors:read May include PII

Donor organisations and individuals. Contact fields require pii:read.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/donors/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/donors/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/donors/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/donors/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Donations

GET /api/v1/donations/ GET /api/v1/donations/{id}/ donations:read

Donation transactions linked to donors, students, projects, farmers, or cooperatives.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/donations/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/donations/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/donations/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/donations/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Donor–student relationships

GET /api/v1/donor_student_relationships/ GET /api/v1/donor_student_relationships/{id}/ donor_student_relationships:read

Sponsorship links between donors and students.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/donor_student_relationships/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/donor_student_relationships/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/donor_student_relationships/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/donor_student_relationships/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Donor–project relationships

GET /api/v1/donor_project_relationships/ GET /api/v1/donor_project_relationships/{id}/ donor_project_relationships:read

Sponsorship links between donors and projects.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/donor_project_relationships/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/donor_project_relationships/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/donor_project_relationships/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/donor_project_relationships/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Donor–farmer relationships

GET /api/v1/donor_farmer_relationships/ GET /api/v1/donor_farmer_relationships/{id}/ donor_farmer_relationships:read

Sponsorship links between donors and farmers.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/donor_farmer_relationships/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/donor_farmer_relationships/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/donor_farmer_relationships/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/donor_farmer_relationships/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Donor–cooperative relationships

GET /api/v1/donor_cooperative_relationships/ GET /api/v1/donor_cooperative_relationships/{id}/ donor_cooperative_relationships:read

Sponsorship links between donors and farmer cooperatives.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/donor_cooperative_relationships/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/donor_cooperative_relationships/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/donor_cooperative_relationships/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/donor_cooperative_relationships/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Projects

GET /api/v1/projects/ GET /api/v1/projects/{id}/ projects:read

Programme projects.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/projects/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/projects/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/projects/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/projects/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Project beneficiaries

GET /api/v1/project_beneficiaries/ GET /api/v1/project_beneficiaries/{id}/ project_beneficiaries:read

Students enrolled as beneficiaries on projects.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/project_beneficiaries/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/project_beneficiaries/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/project_beneficiaries/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/project_beneficiaries/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Activities

GET /api/v1/activities/ GET /api/v1/activities/{id}/ activities:read

Field activities, events, and outreach linked to projects / farmers / cooperatives.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/activities/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/activities/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/activities/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/activities/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Activity participants

GET /api/v1/activity_participants/ GET /api/v1/activity_participants/{id}/ activity_participants:read May include PII

Participants on activities (students, employees, or named guests).

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/activity_participants/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/activity_participants/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/activity_participants/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/activity_participants/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Activity photos

GET /api/v1/activity_photos/ GET /api/v1/activity_photos/{id}/ activity_photos:read

Photos attached to activities.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/activity_photos/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/activity_photos/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/activity_photos/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/activity_photos/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Activity documents

GET /api/v1/activity_documents/ GET /api/v1/activity_documents/{id}/ activity_documents:read

Documents attached to activities.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/activity_documents/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/activity_documents/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/activity_documents/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/activity_documents/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Farmers

GET /api/v1/farmers/ GET /api/v1/farmers/{id}/ farmers:read May include PII

Farmer / private individual registry. Contact fields require pii:read.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/farmers/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/farmers/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/farmers/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/farmers/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Cooperatives

GET /api/v1/cooperatives/ GET /api/v1/cooperatives/{id}/ cooperatives:read May include PII

Farmer cooperatives. Contact fields require pii:read.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/cooperatives/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/cooperatives/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/cooperatives/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/cooperatives/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Cooperative members

GET /api/v1/cooperative_members/ GET /api/v1/cooperative_members/{id}/ cooperative_members:read

Membership of farmers in cooperatives.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/cooperative_members/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/cooperative_members/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/cooperative_members/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/cooperative_members/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Cooperative executives

GET /api/v1/cooperative_executives/ GET /api/v1/cooperative_executives/{id}/ cooperative_executives:read

Executive / leadership roles within cooperatives.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/cooperative_executives/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/cooperative_executives/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/cooperative_executives/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/cooperative_executives/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Cooperative documents

GET /api/v1/cooperative_documents/ GET /api/v1/cooperative_documents/{id}/ cooperative_documents:read

Documents attached to cooperatives.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/cooperative_documents/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/cooperative_documents/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/cooperative_documents/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/cooperative_documents/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Farmer documents

GET /api/v1/farmer_documents/ GET /api/v1/farmer_documents/{id}/ farmer_documents:read May include PII

Documents attached to farmer records.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/farmer_documents/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/farmer_documents/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/farmer_documents/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/farmer_documents/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Organization

GET /api/v1/organization/ GET /api/v1/organization/{id}/ organization:read May include PII

EASE organisation profile (typically a single record). Contact fields require pii:read.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/organization/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/organization/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/organization/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/organization/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Departments

GET /api/v1/departments/ GET /api/v1/departments/{id}/ departments:read

Internal departments.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/departments/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/departments/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/departments/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/departments/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Programs

GET /api/v1/programs/ GET /api/v1/programs/{id}/ programs:read

Programme definitions shown on the public portal and used for enrollments.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/programs/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/programs/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/programs/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/programs/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Sub-programs

GET /api/v1/subprograms/ GET /api/v1/subprograms/{id}/ subprograms:read

Sub-programmes under a parent programme.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/subprograms/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/subprograms/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/subprograms/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/subprograms/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Founders

GET /api/v1/founders/ GET /api/v1/founders/{id}/ founders:read May include PII

Organisation founders / leadership profiles. Contact fields require pii:read.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/founders/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/founders/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/founders/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/founders/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Employees

GET /api/v1/employees/ GET /api/v1/employees/{id}/ employees:read May include PII

Staff employee profiles. Names and contact via related user require pii:read.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/employees/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/employees/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/employees/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/employees/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Positions

GET /api/v1/positions/ GET /api/v1/positions/{id}/ positions:read

Job position definitions.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/positions/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/positions/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/positions/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/positions/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Organizational chart

GET /api/v1/org_chart/ org_chart:read

Hierarchical org chart: executives and departments with staff.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/org_chart/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/org_chart/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)

Inquiries

GET /api/v1/inquiries/ GET /api/v1/inquiries/{id}/ inquiries:read May include PII

Public contact / ticket inquiries. Requires pii:read for email/phone/message.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/inquiries/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/inquiries/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/inquiries/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/inquiries/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Inquiry replies

GET /api/v1/inquiry_replies/ GET /api/v1/inquiry_replies/{id}/ inquiry_replies:read May include PII

Staff and system replies on inquiry tickets. Body may include PII.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/inquiry_replies/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/inquiry_replies/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/inquiry_replies/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/inquiry_replies/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Certificates

GET /api/v1/certificates/ GET /api/v1/certificates/{id}/ certificates:read

Issued certificates (students, donors, employees, farmers, cooperatives, projects, activities).

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/certificates/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/certificates/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/certificates/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/certificates/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Certificate templates

GET /api/v1/certificate_templates/ GET /api/v1/certificate_templates/{id}/ certificate_templates:read

Certificate template definitions.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/certificate_templates/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/certificate_templates/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/certificate_templates/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/certificate_templates/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Contracts

GET /api/v1/contracts/ GET /api/v1/contracts/{id}/ contracts:read May include PII

Contracts with employees, donors, farmers, or cooperatives.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/contracts/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/contracts/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/contracts/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/contracts/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

News

GET /api/v1/news/ GET /api/v1/news/{id}/ news:read

Published news articles.

Defaults to status=published. Pagination: page, page_size.

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/news/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/news/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/news/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/news/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Galleries

GET /api/v1/galleries/ GET /api/v1/galleries/{id}/ galleries:read

Photo galleries.

Defaults to status=active. Pagination: page, page_size.

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/galleries/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/galleries/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/galleries/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/galleries/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Photos

GET /api/v1/photos/ GET /api/v1/photos/{id}/ photos:read

Individual gallery photos.

Supports pagination: page, page_size (client max applies).

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/photos/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/photos/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/photos/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/photos/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Testimonials

GET /api/v1/testimonials/ GET /api/v1/testimonials/{id}/ testimonials:read

Published testimonials.

Defaults to status=published. Pagination: page, page_size.

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/testimonials/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/testimonials/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/testimonials/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/testimonials/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Reports

GET /api/v1/reports/ GET /api/v1/reports/{id}/ reports:read

Published reports / PDFs.

Defaults to status=published. Pagination: page, page_size.

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/reports/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/reports/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/reports/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/reports/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Publications

GET /api/v1/publications/ GET /api/v1/publications/{id}/ publications:read

Published publications / documents.

Defaults to status=active. Pagination: page, page_size.

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/publications/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/publications/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/publications/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/publications/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Scholarships

GET /api/v1/scholarships/ GET /api/v1/scholarships/{id}/ scholarships:read

Published scholarship opportunities.

Defaults to status=active. Pagination: page, page_size.

curl
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/scholarships/?page_size=5"
Python
import requests

url = "https://www.easeempowerment.org/api/v1/scholarships/?page_size=5"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
print(data["count"], "results")
for row in data.get("results", []):
    print(row)
curl (detail)
curl -sS -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" "https://www.easeempowerment.org/api/v1/scholarships/123/"
Python (detail)
import requests

url = "https://www.easeempowerment.org/api/v1/scholarships/123/"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Accept": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
print(response.json())

Errors & limits

  • 401 — missing, invalid, revoked, expired, or IP-blocked key
  • 403 — valid key but missing required scope
  • 429 — rate limit exceeded (default ~120 requests/minute per client)

Successful reads are audited. Optional IP allowlists and expiry dates may apply to your client.

Request API access

Create a Partner API account, verify your email, then request Development or Production keys from your account. After approval, copy your key from the account page — keys are never emailed.

Sign up Login