Fees

This page describes all the APIs relating to fees.

Get all Fees

get

Retrieves a list of all fees. Results are paginated. Use the page and per_page query parameters to control pagination.

Authorizations
Query parameters
since_datestring · date_timeOptional

Return results updated since the specified date, in UTC timezone

Example: 2025-01-01T00:00:00Z
issue_datestringOptional
statusstringOptional
status_levelstringOptional
pageinteger · min: 1Optional

The page number of results to return.

Default: 1
per_pageinteger · min: 1 · max: 200Optional

Request for how many records to return.

Default: 50
countintegerOptional

Synonym for per_page

Responses
200

successful

application/json
get
GET /api/v3/fees HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "payments": [
    {
      "id": 422,
      "invoice_status": "Paid",
      "type": "Application",
      "invoice_number": 1374,
      "amount": "90.0",
      "issue_date": "2017-10-30",
      "due_date": "2017-11-19",
      "payment_method": "cash",
      "payment_date": "2016-08-12",
      "student": {
        "id": 1,
        "custom_id": "1",
        "application_id": "00000001",
        "serial_number": 1,
        "enrollment_year": 2018,
        "status": "applied",
        "status_level": "Assessment Completed"
      }
    }
  ],
  "meta": {
    "pages": 1,
    "total_pages": 1,
    "per_page": 50,
    "count": 1
  }
}

Create a Fee for a Student

post

Create a fee. Returns the unique id in the body as well as attributes if successful.

Authorizations
Path parameters
idintegerRequired

Serial database ID used to refer to a unique student record in OpenApply

Body
custom_fee_idintegerRequired

The database id of the asscociated fee template

statusstring · enumOptionalPossible values:
payment_datestring · dateOptional
payment_methodstringOptional
payment_reminder_sent_atstringOptional
check_numberstringOptional
last4stringOptional
Responses
201

created paid fee

application/json
post
POST /api/v3/students/{id}/fees HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 31

{
  "custom_fee_id": 1,
  "status": 10
}
{
  "id": 422,
  "invoice_status": "Paid",
  "type": "Application",
  "invoice_number": 1374,
  "amount": "90.0",
  "issue_date": "2017-10-30",
  "due_date": "2017-11-19",
  "payment_method": "cash",
  "payment_date": "2016-08-12",
  "student": {
    "id": 1,
    "custom_id": "1",
    "application_id": "00000001",
    "serial_number": 1,
    "enrollment_year": 2018,
    "status": "applied",
    "status_level": "Assessment Completed"
  }
}

Update a Fee

patch

Fetch an instance of a fee

Authorizations
Path parameters
idintegerRequired

Serial database ID used to refer to a unique student record in OpenApply

fee_idintegerRequired

Serial database ID that uniquely identifies a fee record in OpenApply

Body
amountintegerOptional
issue_datestringOptional
due_datestringOptional
currencystringOptional
Responses
200

successful

application/json
patch
PATCH /api/v3/students/{id}/fees/{fee_id} HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 40

{
  "amount": 100,
  "issue_date": "2025-02-15"
}
{
  "id": 422,
  "invoice_status": "Paid",
  "type": "Application",
  "invoice_number": 1374,
  "amount": "90.0",
  "issue_date": "2017-10-30",
  "due_date": "2017-11-19",
  "payment_method": "cash",
  "payment_date": "2016-08-12",
  "student": {
    "id": 1,
    "custom_id": "1",
    "application_id": "00000001",
    "serial_number": 1,
    "enrollment_year": 2018,
    "status": "applied",
    "status_level": "Assessment Completed"
  }
}
Deprecated

Get all Payments

get

Synconym for "Get all Fees". Included to ensure backward compatibility. Please use "Get all Fees" instead

Authorizations
Query parameters
since_datestring · date_timeOptional

Return results updated since the specified date, in UTC timezone

Example: 2025-01-01T00:00:00Z
issue_datestringOptional
statusstringOptional
status_levelstringOptional
pageinteger · min: 1Optional

The page number of results to return.

Default: 1
per_pageinteger · min: 1 · max: 200Optional

Request for how many records to return.

Default: 50
countintegerOptional

Synonym for per_page

Responses
200

successful

application/json
get
GET /api/v3/payments HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "payments": [
    {
      "id": 422,
      "invoice_status": "Paid",
      "type": "Application",
      "invoice_number": 1374,
      "amount": "90.0",
      "issue_date": "2017-10-30",
      "due_date": "2017-11-19",
      "payment_method": "cash",
      "payment_date": "2016-08-12",
      "student": {
        "id": 1,
        "custom_id": "1",
        "application_id": "00000001",
        "serial_number": 1,
        "enrollment_year": 2018,
        "status": "applied",
        "status_level": "Assessment Completed"
      }
    }
  ],
  "meta": {
    "pages": 1,
    "total_pages": 1,
    "per_page": 50,
    "count": 1
  }
}

Get all Fee Templates

get
Authorizations
Responses
200

successful

application/json
get
GET /api/v3/fees/templates HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

successful

{
  "templates": [
    {
      "id": 1,
      "name": "Apply Now",
      "detail": "",
      "kind": "application",
      "currency": "USD",
      "amount": "90.0",
      "name_translation": "立刻申请",
      "detail_translation": ""
    }
  ],
  "meta": {
    "pages": 1,
    "total_pages": 1,
    "per_page": 50,
    "count": 1
  }
}

Was this helpful?