Athena Fintech — API Reference
https://api.athenafintech.app
v1.0

Athena Fintech API

Welcome to the Athena Fintech API documentation. This reference describes every endpoint available in the Athena SaaS platform — enabling you to programmatically manage parties (customers and vendors), financial contracts, invoices, receipts, and inventory items from any language or platform.

REST API
JSON
JWT Authentication
51 Endpoints
HTTPS only

Getting Started

All API access is over HTTPS. The base URL for all requests is:

https://api.athenafintech.app

To make your first API call:

  1. Call POST /api/login/ with your username and password
  2. Copy the access token from the response
  3. Include it in every subsequent request as Authorization: Bearer <token>

REST API

The Athena API follows REST conventions. Resources are represented as JSON objects and are accessed via predictable URL patterns. The API uses standard HTTP methods to perform operations on resources.

HTTP Methods

MethodDescriptionExample
POSTCreate a new resource or submit dataPOST /api/parties/party-add/
GETRetrieve a resource or list of resourcesGET /api/parties/party/
DELETEDelete a resource permanentlyDELETE /api/parties/party-delete/<id>/

URL Structure

All URLs follow this pattern: https://api.athenafintech.app/api/<resource>/<action>/[<id>]/

Path parameters such as <party-id>, <contract-id>, and <address-id> are integer IDs returned from the corresponding list endpoints. For example, the id field in GET /api/parties/party/ is the <party-id> used in all other party endpoints.

Content Types

multipart/form-data

Most mutation endpoints (create/update) accept multipart/form-data. Send each field as a named form field. No Content-Type header needed — your HTTP client sets it automatically with the boundary.

application/json

Some endpoints accept raw JSON in the request body. Set Content-Type: application/json and serialize your payload as a JSON string. Invoice and Contact endpoints use JSON bodies.

Authentication

The Athena API uses JSON Web Tokens (JWT) for authentication. Every request to a protected endpoint must include a valid Bearer token in the Authorization header.

How it works

  1. Send a POST request to /api/login/ with your username and password
  2. The API returns an access token and a refresh token
  3. Include the access token in every protected request as: Authorization: Bearer <access_token>
# Authorization header format
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Access Token

Short-lived token returned on login. Include in the Authorization: Bearer header on every authenticated request. If it expires, use the refresh token to get a new one.

Refresh Token

Long-lived token. Store it securely (never in the browser). Use it to obtain a new access token without requiring the user to log in again.

Company Context

The login response includes a companyid field. All data returned by the API is automatically scoped to this company. You don't need to pass the company ID in individual requests.

Permissions

The login response includes a permissions array listing all allowed actions (e.g. add_contract, view_invoiceheader). Attempting a restricted action returns 403 Forbidden.

Unauthenticated Response

HTTP/1.1 401 Unauthorized

{
  "detail": "Authentication credentials were not provided."
}

Request Format

All requests must be made over HTTPS. HTTP requests will be rejected. The API accepts two body formats depending on the endpoint.

Form Data Requests

Most create and update endpoints use multipart/form-data. Pass each parameter as an individual form field:

curl -X POST \
  "https://api.athenafintech.app/api/parties/party-add/" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -F "party_type=Customer" \
  -F "customer_type=Person" \
  -F "customer_name=John Smith"

JSON Body Requests

Some endpoints (invoices, contacts) accept a raw JSON body. Set Content-Type: application/json:

curl -X POST \
  "https://api.athenafintech.app/api/parties/add-contact/296/" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"prefix":"Mr","first_name":"John","last_name":"Smith","email":"john@example.com","phone_number":"9876543210"}'

Request Headers

HeaderRequiredValue
AuthorizationYes (all except login)Bearer <access_token>
Content-TypeFor JSON endpoints onlyapplication/json
AcceptNoapplication/json (default)

Response Format

All responses are JSON. The structure differs slightly between single-resource operations and list operations.

Mutation Response (Create / Update / Delete)

Create, update, and delete operations return a simple confirmation object:

// Success
{
  "success": 1,
  "response": "Party Created Successfully",
  "partyId": 548        // ID of the created/updated resource (on create)
}

// Failure
{
  "success": 0,
  "error": "customer_name is required.",
  "errors": "Field validation failed."
}

Single Resource Response (Detail endpoint)

Detail endpoints (e.g. GET /api/parties/party-details/<id>/) return the full object directly:

{
  "id": 296,
  "party_type": "Customer",
  "customer_type": "Organization",
  "customer_name": "Test Athena",
  "status": "Active",
  "company": { "id": 12, "company_name": "Acme Corp" },
  ...
}

List Response

All list endpoints return a paginated response envelope:

{
  "links": {
    "next": "https://api.athenafintech.app/api/parties/party/?page=2&per_page=10",
    "previous": null
  },
  "total": 84,
  "page": 1,
  "page_size": 10,
  "data": [ ...array of objects... ]
}

Response Fields

FieldTypeDescription
successinteger1 = operation succeeded, 0 = operation failed
responsestringHuman-readable confirmation message (on success)
errorstringError message (on failure)
errorsstringDetailed technical error (on failure)
dataarrayArray of resource objects (list endpoints only)
totalintegerTotal number of records matching the query
pageintegerCurrent page number
page_sizeintegerNumber of records per page
links.nextstring|nullFull URL to the next page, or null if on the last page
links.previousstring|nullFull URL to the previous page, or null if on the first page

Errors

The Athena API uses standard HTTP status codes to indicate success or failure. When an error occurs, the response body will contain a JSON object with details about what went wrong.

HTTP Status Codes

StatusMeaningWhen it occurs
200 OKSuccessRequest completed successfully. Response body contains the result.
201 CreatedResource CreatedA new resource was created successfully.
400 Bad RequestValidation ErrorRequired fields are missing, or field values fail validation. Inspect the error field in the response body for details.
401 UnauthorizedAuthentication RequiredNo token provided, or the token is expired/invalid. Re-authenticate via POST /api/login/.
403 ForbiddenInsufficient PermissionsYour account doesn't have permission for this action. Check the permissions array from your login response.
404 Not FoundResource Not FoundThe specified ID doesn't exist or belongs to a different company. Verify the ID using the corresponding list endpoint.
405 Method Not AllowedWrong HTTP MethodYou used GET on a POST-only endpoint, or vice versa.
500 Internal Server ErrorServer ErrorSomething went wrong on Athena's servers. Retry after a short delay or contact support.

Application-level Errors

Even when the HTTP status is 200, some endpoints return application-level errors in the response body using "success": 0:

// Validation failure returned with HTTP 200
{
  "success": 0,
  "error": "Receipt amount is required.",
  "errors": "Field 'receipt_amount' may not be blank."
}

// Resource not found returned with HTTP 200
{
  "success": 0,
  "error": "Something went wrong.",
  "errors": "InvoiceHeader matching query does not exist."
}

Best Practices for Error Handling

  • Always check both the HTTP status code and the success field in the response body
  • On 401 responses, refresh your access token and retry the request once
  • On 400 responses, read the error field — it typically names the problematic field
  • On 404, verify the ID by calling the corresponding list endpoint first
  • On 500, implement exponential backoff and retry up to 3 times before surfacing the error

Authentication

Authenticate to the Athena API by providing your credentials. On success you receive JWT tokens used for all subsequent requests.

POST /api/login/

Log-in

This endpoint allows the user to authenticate and obtain access and refresh tokens by providing their username and password in the request body. username (string, required): The username of the user. password (string, required): The password of the user.

REQUEST BODY
NameTypeDescription
usernamestringrequirede.g. rahul@gmail.com
passwordstringrequirede.g. admin@123
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/login/" \
  -H "Content-Type: application/json" \
  -d '{
  &quot;username&quot;: &quot;rahul@gmail.com&quot;,
  &quot;password&quot;: &quot;admin@123&quot;
}'  

Party

A Party represents a customer or vendor in the Athena platform. Parties are the foundation of contracts — every contract must belong to a party. Each party can have multiple addresses, contacts, notification preferences, and ACH bank accounts.

POST /api/parties/party-add/

Create - Party

This endpoint allows the addition of a new party. party_type (text): The purpose an organization or person can be used for. Valid values are Customer, Vendor. customer_type (text): Legal structure. Valid values are natural (Person) or non natural (Organization), customer_name (text): The Name of Person or Business of the associated party.

Requires Authorization: Bearer <token> header
FORM DATA PARAMETERS
NameTypeDescription
party_typetextrequiredThe purpose an organization or person can be used for. Valid values are Customer, Vendor.e.g. Customer
customer_typetextrequiredLegal structure. Valid values are natural (Person) or non natural (Organization)e.g. Person
customer_nametextrequiredThe Name of Person or Business of the associated party.e.g. Steve Conroy
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/parties/party-add/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'party_type=Customer' \
  -F 'customer_type=Person' \
  -F 'customer_name=Steve Conroy'
POST /api/parties/party-edit/<party-id>/

Update-Party

This endpoint allows the user to update party information by making an HTTP POST request to the specified URL. party-id is retrievable with response of manage party. `party_type`: (text) The purpose an organization or person can be used for. Valid values are Customer, Vendor.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
party-idintegerrequiredThe unique ID of the Party Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
NameTypeDescription
party_typetextrequiredThe purpose an organization or person can be used for. Valid values are Customer, Vendor.e.g. Customer
customer_typetextrequiredLegal structure. Valid values are natural (Person) or non natural (Organization).e.g. Person
customer_nametextrequiredThe Name of Person or Business of the associated party.e.g. Steve Conroy
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/parties/party-edit/&lt;party-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'party_type=Customer' \
  -F 'customer_type=Person' \
  -F 'customer_name=Steve Conroy'
DELETE /api/parties/party-delete/<party-id>/

Delete-Party

This endpoint sends an HTTP DELETE request to delete a party with the specified ID. party-id is retrievable with response of manage party. This request does not require a request body.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
party-idintegerrequiredThe unique ID of the Party Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X DELETE \
  "https://api.athenafintech.app/api/parties/party-delete/&lt;party-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
GET /api/parties/party/

Manage-party

This endpoint makes an HTTP GET request to retrieve a list of parties. The request includes query parameters for pagination and filtering. The response returns a JSON object with information about the parties, including their attributes and contract status. "type": "object", "type": "object",

Requires Authorization: Bearer <token> header
QUERY PARAMETERS
NameTypeDescription
per_pagestringoptionale.g. 10
pagestringoptionale.g. 1
searchstringoptionalIts use for search party.
customerNamestringoptionalFilter data by party name, such as "Test".
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/parties/party/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
GET /api/parties/party-active/<party-id>/

Active-Party

The endpoint retrieves the active party details based on the provided party ID. party-id is retrievable with response of manage party. The response for this request can be documented as a JSON schema:

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
party-idintegerrequiredThe unique ID of the Party Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/parties/party-active/&lt;party-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
GET /api/parties/party-inactive/<party-id>/

Inactive-party

This API endpoint sends an HTTP GET request to retrieve information about an inactive party with the ID party-id. The request does not require any input parameters. party-id is retrievable with response of manage party. The response will be in JSON format with a status code of 400. The response body will contain the following keys:

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
party-idintegerrequiredThe unique ID of the Party Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/parties/party-inactive/&lt;party-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
POST /api/parties/partyvalidate/

Party Validation

The `POST` request to `/api/parties/partyvalidate/` endpoint is used to validate a party. The request should be sent with a form-data body. The request should include the following form-data parameters: customer_name: The name of the organization

Requires Authorization: Bearer <token> header
FORM DATA PARAMETERS
NameTypeDescription
customer_nametextrequiredThe name of the organizatione.g. Smith
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/parties/partyvalidate/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'customer_name=Smith'
GET /api/parties/party-details/<party-id>/

Party - Details

This endpoint retrieves the details of a specific party. party-id is retrievable with response of manage party. `GET` {{BASEURL}}/api/parties/party-details//

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
party-idintegerrequiredThe unique ID of the Party Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/parties/party-details/&lt;party-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \

Address

POST /api/parties/add-address/<party-id>/

Create-address

This endpoint allows the addition of an address to a specific party. party-id is retrievable with response of manage party. URL: `{{BASEURL}}/api/parties/add-address//`

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
party-idintegerrequiredThe unique ID of the Party Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
NameTypeDescription
address_line_1textrequiredThe street address or primary address information.e.g. 15 Russell Dr.
address_line_2textrequiredSecondary address information including the apt or suite number.
citytextrequiredAn area in which a large number of people live fairly close together.e.g. Harwich
statetextrequiredA centralized political organization that imposes and enforces rules over a population within a territory.e.g. Massachusetts
zip_codetextrequiredA group of five or nine numbers that are added to a postal address to assist the sorting of mail.e.g. 2645
countrytextrequiredA nation with its own government, occupying a particular territory.e.g. United States
bill_totextrequiredThe person or company listed on an invoice or some other demand for payment as the party responsible for paying for a good or service.e.g. Yes
ship_totextrequiredThe physical location(s) to which products are delivered.e.g. No
install_totextrequiredThe physical location(s) to which products are installed.e.g. Yes
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/parties/add-address/&lt;party-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'address_line_1=15 Russell Dr.' \
  -F 'address_line_2=' \
  -F 'city=Harwich' \
  -F 'state=Massachusetts' \
  -F 'zip_code=2645' \
  -F 'country=United States' \
  -F 'bill_to=Yes' \
  -F 'ship_to=No' \
  -F 'install_to=Yes'
POST /api/parties/address-edit/<address-id>/

Update - Address

This API endpoint allows the user to update the address details for a specific party by making an HTTP POST request to the specified URL. The request should include the address details in the form-data request body type. address-id is retrievable with response of manage address. The response of this request is a JSON schema representing the updated address details for the party. The schema will include the updated address_line_1, address_line_2, city, state, zip_code, country, bill_to, ship_to, and install_to fields.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
address-idintegerrequiredThe unique ID of the Address Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
NameTypeDescription
address_line_1textrequiredThe street address or primary address information.e.g. 15 Russell Dr.
address_line_2textrequiredSecondary address information including the apt or suite number.
citytextrequiredAn area in which a large number of people live fairly close together.e.g. Harwich
statetextrequiredA centralized political organization that imposes and enforces rules over a population within a territory.e.g. Massachusetts
zip_codetextrequiredA group of five or nine numbers that are added to a postal address to assist the sorting of mail.e.g. 2645
countrytextrequiredA nation with its own government, occupying a particular territory.e.g. United States
bill_totextrequiredThe person or company listed on an invoice or some other demand for payment as the party responsible for paying for a good or service.e.g. Yes
ship_totextrequiredThe physical location(s) to which products are delivered.e.g. No
install_totextrequiredThe physical location(s) to which products are installed.e.g. No
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/parties/address-edit/&lt;address-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'address_line_1=15 Russell Dr.' \
  -F 'address_line_2=' \
  -F 'city=Harwich' \
  -F 'state=Massachusetts' \
  -F 'zip_code=2645' \
  -F 'country=United States' \
  -F 'bill_to=Yes' \
  -F 'ship_to=No' \
  -F 'install_to=No'
DELETE /api/parties/address-delete/<address-id>/

Delete-address

This API deletes a party address using an HTTP DELETE request to `{{BASEURL}}/api/parties/address-delete//`. The `address-id` is retrievable with the response of manage address. The response for this request is a JSON object with the following schema:

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
address-idintegerrequiredThe unique ID of the Address Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X DELETE \
  "https://api.athenafintech.app/api/parties/address-delete/&lt;address-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
GET /api/parties/manage-address/<party-id>/

Manage-address

This is the API for adding Party Address. party-id is retrievable with response of manage party.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
party-idintegerrequiredThe unique ID of the Party Id. Obtain from the corresponding list endpoint.
QUERY PARAMETERS
NameTypeDescription
per_pagestringoptionale.g. 10
page stringoptionale.g. 1
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/parties/manage-address/&lt;party-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
GET /api/parties/address-active/<address-id>/

Active-Address

This endpoint is used to delete the active address for a party. address-id is retrievable with response of manage address. This request does not require a request body.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
address-idintegerrequiredThe unique ID of the Address Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/parties/address-active/&lt;address-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
GET /api/parties/address-inactive/<address-id>/

Inactive-Address

This endpoint is used to delete an inactive address for a party. address-id is retrievable with response of manage address. URL: `{{BASEURL}}/api/parties/address-inactive//`

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
address-idintegerrequiredThe unique ID of the Address Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/parties/address-inactive/&lt;address-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \

Contact

POST /api/parties/add-contact/<party-id>/

Create-contact

This endpoint allows you to add a new contact to a specific party. party-id is retrievable with response of manage party. `prefix` (string): The prefix for the contact's name.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
party-idintegerrequiredThe unique ID of the Party Id. Obtain from the corresponding list endpoint.
REQUEST BODY
NameTypeDescription
prefixstringrequirede.g. Mr
first_namestringrequirede.g. Steve
last_namestringrequirede.g. Steve Conroy
phone_numberstringrequirede.g. 12556639111
emailstringrequirede.g. admin@gmail.com
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/parties/add-contact/&lt;party-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  &quot;prefix&quot;: &quot;Mr&quot;,
  &quot;first_name&quot;: &quot;Steve&quot;,
  &quot;last_name&quot;: &quot;Steve Conroy&quot;,
  &quot;phone_number&quot;: &quot;12556639111&quot;,
  &quot;email&quot;: &quot;admin@gmail.com&quot;
}'  
POST /api/parties/edit-contact/<contact-id>/

Update-contact

This endpoint allows the user to edit the contact details for a specific contact identified by the . The request should be sent as an HTTP POST to the specified URL with the contact details in the request body. contact-id is retrievable with response of manage contact. prefix (string, required): The prefix for the contact's name.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
contact-idintegerrequiredThe unique ID of the Contact Id. Obtain from the corresponding list endpoint.
REQUEST BODY
NameTypeDescription
prefixstringrequirede.g. Mr
first_namestringrequirede.g. Ruth
last_namestringrequirede.g. Ruth Hoffer
phone_numberstringrequirede.g. 12556639111
emailstringrequirede.g. ruth@gmail.com
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/parties/edit-contact/&lt;contact-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  &quot;prefix&quot;: &quot;Mr&quot;,
  &quot;first_name&quot;: &quot;Ruth&quot;,
  &quot;last_name&quot;: &quot;Ruth Hoffer&quot;,
  &quot;phone_number&quot;: &quot;12556639111&quot;,
  &quot;email&quot;: &quot;ruth@gmail.com&quot;
}'  
DELETE /api/parties/delete-contact/<contact-id>/

Delete-contact

This endpoint is used to delete a specific contact identified by the contact ID. contact-id is retrievable with response of manage contact. `contact-id` (path parameter): The ID of the contact to be deleted.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
contact-idintegerrequiredThe unique ID of the Contact Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X DELETE \
  "https://api.athenafintech.app/api/parties/delete-contact/&lt;contact-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
GET /api/parties/manage-contact/<party-id>/

Manage-contact

The endpoint retrieves party contact management details based on the provided party ID. The response is in the form of a JSON schema with the following structure: party-id is retrievable with response of manage party. "type": "object",

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
party-idintegerrequiredThe unique ID of the Party Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/parties/manage-contact/&lt;party-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \

Notification

POST /api/parties/add-notification/<party-id>/

Create-notification

This endpoint allows the user to add a notification for a specific party. party-id is retrievable with response of manage party. URL: {{BASEURL}}/api/parties/add-notification//

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
party-idintegerrequiredThe unique ID of the Party Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
NameTypeDescription
notification_remindertextrequiredAn alert generated by the system, to notify the user of an upcoming or passed event e.g. bill due, bill past due etc.e.g. Due Date Reminder
notification_typetextrequiredThe way in which the notification will be distributed e.g. emaile.g. Email
notification_daystextrequiredThe number of days, prior to the due date, that the notification will be sent.e.g. 30
to_emailtextrequiredWhere the notification will be sent.e.g. admin@gmail.com
enabletextrequiredMake (a notification) operational; activate.e.g. 1
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/parties/add-notification/&lt;party-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'notification_reminder=Due Date Reminder' \
  -F 'notification_type=Email' \
  -F 'notification_days=30' \
  -F 'to_email=admin@gmail.com' \
  -F 'enable=1'
POST /api/parties/edit-notification/<notification-id>/

Update-notification

This endpoint allows the user to edit a specific notification by making an HTTP POST request to `{{BASEURL}}/api/parties/edit-notification//`. notification-id is retrievable with response of manage notifications. The request should include form-data in the body. No specific parameters were provided for the last call.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
notification-idintegerrequiredThe unique ID of the Notification Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
NameTypeDescription
notification_remindertextrequiredAn alert generated by the system, to notify the user of an upcoming or passed event e.g. bill due, bill past due etc.e.g. Due Date Reminder
notification_typetextrequiredThe way in which the notification will be distributed e.g. emaile.g. Email
notification_daystextrequiredThe number of days, prior to the due date, that the notification will be sent.e.g. 30
to_emailtextrequiredWhere the notification will be sent.e.g. admin@gmail.com
enabletextrequiredMake (a notification) operational; activate.e.g. 1
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/parties/edit-notification/&lt;notification-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'notification_reminder=Due Date Reminder' \
  -F 'notification_type=Email' \
  -F 'notification_days=30' \
  -F 'to_email=admin@gmail.com' \
  -F 'enable=1'
DELETE /api/parties/delete-notification/<notification-id>/

Delete-notification

This endpoint is used to delete a specific notification by its ID. notification-id is retrievable with response of manage notifications. This request does not require a request body.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
notification-idintegerrequiredThe unique ID of the Notification Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X DELETE \
  "https://api.athenafintech.app/api/parties/delete-notification/&lt;notification-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
GET /api/parties/manage-notification/<party-id>/

Manage-notifications

The endpoint retrieves the notification details for a specific party based on the provided party ID. party-id is retrievable with response of manage party. "type": "object",

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
party-idintegerrequiredThe unique ID of the Party Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/parties/manage-notification/&lt;party-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \

ACH

POST /api/parties/api/ach-accounts/create/

Create - ACH Account

This endpoint creates a new ACH account for a specified party in the system. ACH accounts are used for electronic bank-to-bank money transfers. This endpoint requires Bearer token authentication. Include your access token in the Authorization header: Authorization: Bearer {{Token}}

Requires Authorization: Bearer <token> header
FORM DATA PARAMETERS
NameTypeDescription
partytextrequiredParty database ID — must match an existing customer/vendore.g. 770
account_nametextrequiredName for this ACH bank accounte.g. Primary ACH
aba_transit_numbertextrequired Bank routing (ABA) numbere.g. 021000021
account_numbertextrequiredBank account numbere.g. 123456789
authorization_receivedtextrequiredY = authorization received, N = not receivede.g. Y
one_time_use_onlytextrequiredY = single-use account, N = reusablee.g. Y
active_yntextrequired Y = active account, N = inactivee.g. Y
curl -X POST \
  "https://api.athenafintech.app/api/parties/api/ach-accounts/create/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'party=770' \
  -F 'account_name=Primary ACH' \
  -F 'aba_transit_number=021000021' \
  -F 'account_number=123456789' \
  -F 'authorization_received=Y' \
  -F 'one_time_use_only=Y' \
  -F 'active_yn=Y'
POST /api/parties/api/ach-accounts/<int:pk>/update/

Update - ACH Account

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
int:pkintegerrequiredThe unique ID of the Int:Pk. Obtain from the corresponding list endpoint.
curl -X POST \
  "https://api.athenafintech.app/api/parties/api/ach-accounts/&lt;int:pk&gt;/update/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \

Contract

Contracts represent financial agreements — leases or loans — between your company and a party. Contracts contain payment schedules, assets, and can be modified through an amendment workflow.

POST /api/contracts/create-contract/

Create-contract

This endpoint allows you to create a new contract. No request body parameters are required for this endpoint. Upon a successful request, the response will include the details of the newly created contract.

Requires Authorization: Bearer <token> header
FORM DATA PARAMETERS
NameTypeDescription
contract_typetextrequiredA contract or lease agreement by which one person (the lessor) grants a right to possession or control of an object (with or without an option to purchase) to another person (the lessee) in return for a rental or other payment.e.g. Lease
start_datetextrequiredThe date on which your lease begins and you become legally responsible for the asset being leased.e.g. 2024-07-03
end_datetextrequiredThe last day of the Lease Period as stipulated in the Lease Agreement or the Lease Termination Date whichever comes first.e.g. 2025-07-02
paymentstartdatetextrequiredDate of the first payment.e.g. 2024-07-03
paymentruletextrequiredThe rule of payment. e.g. Advance
frequencytextrequiredThe frequency of payment required for regular payment amounts set out on the loan.e.g. Monthly
amounttextrequiredThe amount of money owed under this contract.e.g. 900
contract_termtextrequiredThe period of time in which a contracted lease is in place.e.g. 12
address_idtextrequiredThe person or company listed on an invoice or some other demand for payment as the party responsible for paying for a good or service.e.g. 560
customer_idtextrequiredThe name of the person or business who leases something from a lessor; lessee.e.g. 770
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/contracts/create-contract/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'contract_type=Lease' \
  -F 'start_date=2024-07-03' \
  -F 'end_date=2025-07-02' \
  -F 'paymentstartdate=2024-07-03' \
  -F 'paymentrule=Advance' \
  -F 'frequency=Monthly' \
  -F 'amount=900' \
  -F 'contract_term=12' \
  -F 'address_id=560' \
  -F 'customer_id=770'
POST /api/contracts/contract-edit/<contract-id>/

Update - Contract

This endpoint is used to update a specific contract with the provided details. The contract ID in the URL serves the purpose of identifying the specific contract that the API request is targeting for editing. By including the contract ID in the URL, the API knows which contract to retrieve and update based on the provided payload. This ensures that the request is applied to the correct contract in the system. contract-id is retrievable with response of manage contracts.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
contract-idintegerrequiredThe unique ID of the Contract Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
NameTypeDescription
contract_termtextrequiredThe period of time in which a contracted lease is in place.e.g. 12
contract_typetextrequiredA contract or lease agreement by which one person (the lessor) grants a right to possession or control of an object (with or without an option to purchase) to another person (the lessee) in return for a rental or other payment.e.g. Loan
paymentstart_datetextrequiredDate of the first payment.e.g. 2025-07-02
address_idtextrequiredThe person or company listed on an invoice or some other demand for payment as the party responsible for paying for a good or service.e.g. 5
amounttextrequiredAmount associated with this line item.e.g. 900
customer_idtextrequiredThe name of the person or business who leases something from a lessor; lessee.e.g. 3
end_datetextrequiredThe last day of the Lease Period as stipulated in the Lease Agreement or the Lease Termination Date whichever comes first.e.g. 2025-07-02
paymentfrequencytextrequiredThe frequency of payment required for regular payment amounts set out on the loan.e.g. Monthly
paymentruletextrequiredThe rule of paymente.g. Advance
paymentstartdatetextrequiredDate of the first payment.e.g. 2024-07-03
start_datetextrequiredThe date on which your lease begins and you become legally responsible for the asset being leased.e.g. 2024-07-03
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/contracts/contract-edit/&lt;contract-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'contract_term=12' \
  -F 'contract_type=Loan' \
  -F 'paymentstart_date=2025-07-02' \
  -F 'address_id=5' \
  -F 'amount=900' \
  -F 'customer_id=3' \
  -F 'end_date=2025-07-02' \
  -F 'paymentfrequency=Monthly' \
  -F 'paymentrule=Advance' \
  -F 'paymentstartdate=2024-07-03'
GET /api/contracts/contracts/0/

Manage-Contracts

Requires Authorization: Bearer <token> header
QUERY PARAMETERS
NameTypeDescription
statusstringoptional
per_pagestringoptionale.g. 10
pagestringoptionale.g. 1
searchstringoptional
contractNumberstringoptional
customerNamestringoptional
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/contracts/contracts/0/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
GET /api/contracts/contract-details/<contract-id>/

Details-Contract

This HTTP GET request is used to retrieve the details of a specific contract by providing the contract ID in the endpoint URL. contract-id is retrievable with response of manage contracts. "type": "object",

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
contract-idintegerrequiredThe unique ID of the Contract Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/contracts/contract-details/&lt;contract-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \

Payment Schedules

GET /api/contracts/payment-view/<contract-id>/

Manage-Payment Schedules

This endpoint retrieves payment view details for a specific contract. contract-id is retrievable with response of manage contracts. No request body parameters are required. The `contract-id` path parameter should be replaced with the ID of the contract for which payment view details are requested.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
contract-idintegerrequiredThe unique ID of the Contract Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/contracts/payment-view/&lt;contract-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
POST /api/contracts/payment-add/<contract-id>/

Create - Payment Schedule

This endpoint allows you to add a payment to a specific contract. contract-id is retrievable with response of manage contracts. `start_date` (text): The start date of the payment.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
contract-idintegerrequiredThe unique ID of the Contract Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
NameTypeDescription
no_of_paymentstextrequiredThe number of payments during the schedule period.e.g. 12
payment_typetextrequiredThe means by which customers pay for the loan.e.g. Rent
payment_amounttextrequiredThe amount due for each payment.e.g. 1000
frequencytextrequiredThe frequency of payment required for regular payment amounts set out on the loan.e.g. Monthly
start_datetextrequirede.g. 2024-07-3
end_datetextrequirede.g. 2025-07-02
amounttextrequirede.g. 879.72
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/contracts/payment-add/&lt;contract-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'no_of_payments=12' \
  -F 'payment_type=Rent' \
  -F 'payment_amount=1000' \
  -F 'frequency=Monthly' \
  -F 'start_date=2024-07-3' \
  -F 'end_date=2025-07-02' \
  -F 'amount=879.72'
POST /api/contracts/payment-edit/<paymentschedule-id>/

Update - Payment Schedule

This endpoint allows the user to update the payment schedule for a specific contract. paymentschedule-id is retrievable with response of manage payment schedule. `start_date` (text): The new start date for the payment schedule.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
paymentschedule-idintegerrequiredThe unique ID of the Paymentschedule Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
NameTypeDescription
no_of_paymentstextrequiredThe number of payments during the schedule period.e.g. 12
payment_typetextrequiredThe means by which customers pay for the loan.e.g. Rent
amounttextrequiredThe amount due for each payment.e.g. 1000
frequencytextrequiredThe frequency of payment required for regular payment amounts set out on the loan.e.g. Monthly
start_datetextrequirede.g. 2024-07-05
end_datetextrequirede.g. 2025-07-04
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/contracts/payment-edit/&lt;paymentschedule-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'no_of_payments=12' \
  -F 'payment_type=Rent' \
  -F 'amount=1000' \
  -F 'frequency=Monthly' \
  -F 'start_date=2024-07-05' \
  -F 'end_date=2025-07-04'

Assets

POST /api/contracts/asset-add/<contract-id>/

Create-Asset

This API endpoint is used to add an asset to a specific contract. contract-id is retrievable with response of manage contracts. `vehicle_cost` (text): Description of the vehicle cost.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
contract-idintegerrequiredThe unique ID of the Contract Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
NameTypeDescription
reg_addresstextrequiredThe place where the asset will be located.e.g. 5
vendor_nametextrequiredThe name of the vendor who supplied the asset.e.g. 19
asset_desctextrequiredBrief description of the asset.e.g. abc123
license_numbertextrequiredThe license number associated with the asset.e.g. 2564
financed_amounttextrequiredThe initial financed amount of the asset.e.g. 3000
yeartextrequiredThe calendar year in which a unit was manufactured.e.g. 2021
vin_numbertextrequiredThe Vehicle Identification Number (VIN number) that is assigned to the current asset.e.g. 256l
license_statetextrequiredThe state in which the asset is licensed.e.g. Gujarat
dealer_payabletextrequiredThe amount payable to the dealer.e.g. 5000
manufacturertextrequiredThe producer of the asset.e.g. 9-Square
maketextrequiredThe brand of the asset.e.g. XYZ
modeltextrequiredA combination of letters, digits, or characters representing the manufacturer, brand, design, or performance of an asset.e.g. 5G
user_purposetextrequiredThe intended use of the asset.e.g. Driving
residal_valuetextrequiredThe value of an asset at the end of a lease term.e.g. 0
vehicle_costtextrequirede.g. 10000
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/contracts/asset-add/&lt;contract-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'reg_address=5' \
  -F 'vendor_name=19' \
  -F 'asset_desc=abc123' \
  -F 'license_number=2564' \
  -F 'financed_amount=3000' \
  -F 'year=2021' \
  -F 'vin_number=256l' \
  -F 'license_state= Gujarat' \
  -F 'dealer_payable=5000' \
  -F 'manufacturer= 9-Square'
POST /api/contracts/asset-edit/<asset-id>/

Update - Asset

This endpoint allows the user to update the information for a specific asset. asset-id is retrievable with response of manage Assets. `vehicle_cost` (text): The cost of the vehicle.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
asset-idintegerrequiredThe unique ID of the Asset Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
NameTypeDescription
reg_addresstextrequiredAny written agreement under which a qualified lender lends or agrees to lend funds to a borrower.e.g. 5
vendor_nametextrequiredThe place where the asset will be located.e.g. 19
asset_numbertextrequiredThe name of the vendor who supplied the asset.e.g. AH57568
asset_desctextrequiredUniquely identifies the product purchased or leased.e.g. abc123
license_numbertextrequiredBrief description of the asset.e.g. 2564
financed_amounttextrequiredThe license number associated with the asset.e.g. 3000
yeartextrequiredThe initial financed amount of the asset.e.g. 2021
vin_numbertextrequiredThe calendar year in which a unit was manufactured.e.g. 256l
license_statetextrequiredThe Vehicle Identification Number (VIN number) that is assigned to the current asset.e.g. Gujarat
dealer_payabletextrequiredThe state in which the asset is licensed.e.g. 5000
manufacturertextrequiredThe amount payable to the dealer.e.g. 9-Square
maketextrequiredThe producer of the asset.e.g. XYZ
modeltextrequiredThe brand of the asset.e.g. 5G
user_purposetextrequiredA combination of letters, digits, or characters representing the manufacturer, brand, design, or performance of an asset.e.g. Driving
residal_valuetextrequiredThe intended use of the asset.e.g. 0
vehicle_costtextrequiredThe value of an asset at the end of a lease term.e.g. 12000
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/contracts/asset-edit/&lt;asset-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'reg_address= 5' \
  -F 'vendor_name= 19' \
  -F 'asset_number= AH57568' \
  -F 'asset_desc= abc123' \
  -F 'license_number= 2564' \
  -F 'financed_amount= 3000' \
  -F 'year= 2021' \
  -F 'vin_number= 256l' \
  -F 'license_state= Gujarat' \
  -F 'dealer_payable= 5000'
DELETE /api/contracts/asset-delete/<asset-id>/

Delete-Asset

This endpoint sends an HTTP DELETE request to delete the asset with the ID 587. Upon a successful deletion, the response will be a JSON schema detailing the status of the operation. asset-id is retrievable with response of manage Assets.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
asset-idintegerrequiredThe unique ID of the Asset Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X DELETE \
  "https://api.athenafintech.app/api/contracts/asset-delete/&lt;asset-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
GET /api/contracts/asset-view/909/

Manage-Assets

Requires Authorization: Bearer <token> header
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/contracts/asset-view/909/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \

Contract Modification

POST /api/contracts/contracts/<contract-id>/modify/

Modify - Contract

This endpoint creates a draft for modifying an existing contract. When called, it generates a new version of the contract as a draft and creates an associated amendment record. This endpoint requires Bearer token authentication. Include your access token in the Authorization header: Authorization: Bearer {{Token}}

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
contract-idintegerrequiredThe unique ID of the Contract Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/contracts/contracts/&lt;contract-id&gt;/modify/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
POST /api/contracts/contracts/contract-id/approve/int:version/

Modify Version

Requires Authorization: Bearer <token> header
curl -X POST \
  "https://api.athenafintech.app/api/contracts/contracts/8603/approve/2/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \

Inventory

The Inventory (Item Master) tracks physical assets available for lease or financing. Items in the inventory can be linked to contracts as assets.

POST /api/contracts/create-itemmaster/

Create-Inventory

This endpoint is used to create a new item master. No request body parameters are required for this endpoint. The response for this request is a JSON object following the schema below:

Requires Authorization: Bearer <token> header
FORM DATA PARAMETERS
NameTypeDescription
itemnametextrequiredBrief name of the asset.e.g. Honda-activa
descriptiontextrequiredBrief description of the asset.e.g. Honda Activa 125 alloly-drum
serial_numbertextrequiredUniquely identifies the product purchased or leased.e.g. SN09049205123
yearofmanufacturetextrequiredThe calendar year in which a unit was manufactured.e.g. 2020
manufacturertextrequiredThe producer of the asset.e.g. India
modeltextrequiredA combination of letters, digits, or characters representing the manufacturer, brand, design, or performance of an asset.e.g. 2020
maketextrequiredThe brand of the asset.e.g. null
dateplacedinservicetextrequiredThe calendar date on which an asset could start to be used.e.g. 2024-05-08
lifeinmonthstextrequiredTotal remaining number of months in the asset's useful life.e.g. 4
netbookvaluetextrequiredThe historical cost of an asset, less any amounts recorded for depreciation, amortization, or depletion.e.g. 0
originalcosttextrequiredThe total price associated with the purchase of an asset.e.g. 90000
statustextrequirede.g. Available for Lease
asset_idtextrequiredasset-id is retrievable with response of manage Assets.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/contracts/create-itemmaster/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'itemname= Honda-activa' \
  -F 'description= Honda Activa 125 alloly-drum' \
  -F 'serial_number= SN09049205123' \
  -F 'yearofmanufacture= 2020' \
  -F 'manufacturer= India' \
  -F 'model= 2020' \
  -F 'make= null' \
  -F 'dateplacedinservice= 2024-05-08' \
  -F 'lifeinmonths= 4' \
  -F 'netbookvalue= 0'
POST /api/contracts/itemmaster-edit/<inventory-id>/

Update - Inventory

The API endpoint `{{BASEURL}}/api/contracts/itemmaster-edit/30/` is a POST request used to edit an item master within a contract. The request is made with form-data as the request body type. inventory-id is retrievable with response of manage Inventory. The response of this request is a JSON schema that defines the structure of the data returned by the API. It provides a blueprint for the format of the response data, including the type and properties of each field.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
inventory-idintegerrequiredThe unique ID of the Inventory Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
NameTypeDescription
itemnametextrequiredName of the item.e.g. Toyota car
descriptiontextrequiredBrief name of the asset.e.g. Good Condition
yeartextrequiredBrief description of the asset.e.g. 2021
manufacturertextrequiredUniquely identifies the product purchased or leased.e.g. Toyota
modeltextrequiredThe calendar year in which a unit was manufactured.e.g. Crysta
maketextrequiredThe producer of the asset.e.g. Innova
date_placetextrequiredA combination of letters, digits, or characters representing the manufacturer, brand, design, or performance of an asset.e.g. 2023-5-10
life_in_monthstextrequiredThe brand of the asset.e.g. 12
netbookvaluetextrequiredThe calendar date on which an asset could start to be used.e.g. 2000
originalcosttextrequiredTotal remaining number of months in the asset's useful life.e.g. 18000
statustextrequiredThe historical cost of an asset, less any amounts recorded for depreciation, amortization, or depletion.e.g. Available for Lease
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/contracts/itemmaster-edit/&lt;inventory-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'itemname=Toyota car' \
  -F 'description=Good Condition' \
  -F 'year=2021' \
  -F 'manufacturer=Toyota' \
  -F 'model=Crysta' \
  -F 'make=Innova' \
  -F 'date_place=2023-5-10' \
  -F 'life_in_months=12' \
  -F 'netbookvalue=2000' \
  -F 'originalcost=18000'
DELETE /api/contracts/itemmaster-delete/<inventory-id>/

Delete - Inventory

This endpoint is used to delete an item master from the contracts API by providing the inventory ID in the URL path. inventory-id is retrievable with response of manage Inventory. This request does not require a request body.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
inventory-idintegerrequiredThe unique ID of the Inventory Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X DELETE \
  "https://api.athenafintech.app/api/contracts/itemmaster-delete/&lt;inventory-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
GET /api/contracts/itemmasterview/

Manage-Inventory

The endpoint retrieves a list of items from the contracts Inventory view. The request allows for pagination with parameters for the number of items per page and the page number, as well as optional search filters for item name, serial number, model, make, status, and manufacturer. The response for this request is a JSON object with the following structure: "next": "string or null",

Requires Authorization: Bearer <token> header
QUERY PARAMETERS
NameTypeDescription
per_pagestringoptionale.g. 10
pagestringoptionale.g. 1
searchstringoptional
itemnamestringoptional
serialnumberstringoptional
modelstringoptional
makestringoptional
statusstringoptional
manufacturerstringoptional
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/contracts/itemmasterview/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \

Invoice

Invoices are billing documents tied to contracts. Each invoice can have multiple line items for rent, fees, and taxes.

Invoices

POST /api/billing/create/invoice/0/

Create- Invoice

The HTTP POST request creates a new invoice at the specified endpoint. The request body should be in raw JSON format and include the following parameters: `contract_id` (number): The ID of the contract for which the invoice is being created. `duedate` (string, date format): The due date of the invoice in "YYYY-MM-DD" format.

Requires Authorization: Bearer <token> header
REQUEST BODY
NameTypeDescription
contract_idstringrequirede.g. 900
duedatestringrequirede.g. 2024-12-31
notesstringrequirede.g. Invoice for December
transaction_typestringrequirede.g. Rent
descriptionstringrequirede.g. Monthly Rent
total_amountstringrequirede.g. 1200
rowDatastringrequirede.g. [{'fee_type': 'Rent', 'description': 'Monthly Rent', 'amount': 1000, 'tax': 0, 'total': 1000}]
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/billing/create/invoice/0/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  &quot;contract_id&quot;: 900,
  &quot;duedate&quot;: &quot;2024-12-31&quot;,
  &quot;notes&quot;: &quot;Invoice for December&quot;,
  &quot;transaction_type&quot;: &quot;Rent&quot;,
  &quot;description&quot;: &quot;Monthly Rent&quot;,
  &quot;total_amount&quot;: 1200,
  &quot;rowData&quot;: [
    {
      &quot;fee_type&quot;: &quot;Rent&quot;,
      &quot;description&quot;: &quot;Monthly Rent&quot;,
      &quot;amount&quot;: 1000,
      &quot;tax&quot;: 0,
      &quot;total&quot;: 1000
    }
  ]
}'  
POST }/api/billing/create/invoice/<invoice-id>/

Update - Invoice

This endpoint allows the update invoice. invoice-id is retrievable with response of manage Invoices. `contract_id` (integer) - The ID of the contract associated with the invoice.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
invoice-idintegerrequiredThe unique ID of the Invoice Id. Obtain from the corresponding list endpoint.
REQUEST BODY
NameTypeDescription
contract_idstringrequirede.g. 900
duedatestringrequirede.g. 2024-12-31
notesstringrequirede.g. Updated Invoice Notes
transaction_typestringrequirede.g. Rent
descriptionstringrequirede.g. Updated Monthly Rent
total_amountstringrequirede.g. 1200
rowsDatastringrequirede.g. [{'line_type': 'Rent', 'line_description': 'Updated Rent ', 'line_amount': 1200, 'tax_amount': 0}]
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app}/api/billing/create/invoice/&lt;invoice-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  &quot;contract_id&quot;: 900,
  &quot;duedate&quot;: &quot;2024-12-31&quot;,
  &quot;notes&quot;: &quot;Updated Invoice Notes&quot;,
  &quot;transaction_type&quot;: &quot;Rent&quot;,
  &quot;description&quot;: &quot;Updated Monthly Rent&quot;,
  &quot;total_amount&quot;: 1200,
  &quot;rowsData&quot;: [
    {
      &quot;line_type&quot;: &quot;Rent&quot;,
      &quot;line_description&quot;: &quot;Updated Rent &quot;,
      &quot;line_amount&quot;: 1200,
      &quot;tax_amount&quot;: 0
    }
  ]
}'  
DELETE /api/billing/invoice-delete/<invoice-id>/

Delete - Invoice

The API endpoint sends an HTTP DELETE request to delete the invoice with the specified ID. invoice-id is retrievable with response of manage Invoices. The response is in JSON format and has the following schema:

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
invoice-idintegerrequiredThe unique ID of the Invoice Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X DELETE \
  "https://api.athenafintech.app/api/billing/invoice-delete/&lt;invoice-id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
GET /api/billing/invoices/

Manage-Invoices

This API endpoint retrieves billing invoices based on the provided query parameters. URL: `{{BASEURL}}/api/billing/invoices/` Query Parameters:

Requires Authorization: Bearer <token> header
QUERY PARAMETERS
NameTypeDescription
statusstringoptional
per_pagestringoptionale.g. 10
pagestringoptionale.g. 1
searchstringoptional
contractNumberstringoptional
customerNamestringoptional
contractidstringoptionale.g. undefined
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/billing/invoices/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \

Receipts

Receipts record incoming payments from customers. They can be applied against outstanding invoices and contracts.

POST /api/receipts/create/receipts/

Create- Receipts

This endpoint allows you to create a new receipt. `receipt_date` (text): The date of the receipt. `receipt_reference` (text): Reference number of the receipt.

Requires Authorization: Bearer <token> header
FORM DATA PARAMETERS
NameTypeDescription
receipt_methodtextrequiredThe method by which the funds were received.e.g. Cash
receipt_datetextrequiredThe date of the receipt.e.g. 2024-12-20
customer_idtextrequiredThe customer associated with the contract this receipt should be applied against.e.g. 3
contract_idtextrequiredThe contract number this receipt should be applied against.e.g. 972
receipt_amounttextrequiredThe amount received for this receipt.e.g. 1000
remittance_banktextrequiredThe bank which initiated the transfer of money.e.g. ICICI
receipt_referencetextrequiredReference number of the receipt.e.g. REF12345
commentstextrequiredAny additional comment.e.g. Payment received
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/receipts/create/receipts/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'receipt_method=Cash' \
  -F 'receipt_date=2024-12-20' \
  -F 'customer_id=3' \
  -F 'contract_id=972' \
  -F 'receipt_amount=1000' \
  -F 'remittance_bank=ICICI' \
  -F 'receipt_reference=REF12345' \
  -F 'comments=Payment received'
POST /api/receipts/update-receipts/

Update - Receipts

This endpoint allows you to update receipt information. receipt_id is retrievable with response of manage manage-Receipts. `receipt_id` (text, required): The ID of the receipt to be updated.

Requires Authorization: Bearer <token> header
FORM DATA PARAMETERS
NameTypeDescription
receipt_idtextrequiredThe ID of receipt to be updatede.g. 212
receipt_methodtextrequiredThe method by which the funds were received.e.g. Cash
remittance_banktextrequiredThe bank which initiated the transfer of money.e.g. ICICI
receipt_referencetextrequiredReference number of the receipt.e.g. REF12345
commentstextrequiredAny additional comment.e.g. Payment received
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X POST \
  "https://api.athenafintech.app/api/receipts/update-receipts/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F 'receipt_id=212' \
  -F 'receipt_method=Cash' \
  -F 'remittance_bank=ICICI' \
  -F 'receipt_reference=REF12345' \
  -F 'comments=Payment received'
GET /api/receipts/view/receipts/

Manage-Receipts

The endpoint retrieves a list of receipts based on the provided query parameters. The response is a JSON object containing information about the receipts, including links, total count, page information, and an array of receipt objects. Each receipt object includes details such as ID, receipt number, date, amount, customer information, contract information, company details, and creator information. "type": "object", "type": "object",

Requires Authorization: Bearer <token> header
QUERY PARAMETERS
NameTypeDescription
statusstringoptional
per_pagestringoptionale.g. 10
pagestringoptionale.g. 1
searchstringoptional
contractNumberstringoptional
customerNamestringoptional
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/receipts/view/receipts/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
GET /api/receipts/show/receipt/<receipt_id>/

Show- Receipt

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
receipt_idintegerrequiredThe unique ID of the Receipt Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/receipts/show/receipt/&lt;receipt_id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
GET /api/receipts/viewDetails/receipts/<receipt_id>/

View- Receipts

This endpoint retrieves the details of a specific receipt identified by the `receipt_id`. receipt_id is retrievable with response of manage manage-Receipts. This request does not require a request body.

Requires Authorization: Bearer <token> header
PATH PARAMETERS
NameTypeDescription
receipt_idintegerrequiredThe unique ID of the Receipt Id. Obtain from the corresponding list endpoint.
RETURNS

Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.

curl -X GET \
  "https://api.athenafintech.app/api/receipts/viewDetails/receipts/&lt;receipt_id&gt;/" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \