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:
Call POST /api/login/ with your username and password
Copy the access token from the response
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
Method
Description
Example
POST
Create a new resource or submit data
POST /api/parties/party-add/
GET
Retrieve a resource or list of resources
GET /api/parties/party/
DELETE
Delete a resource permanently
DELETE /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
Send a POST request to /api/login/ with your username and password
The API returns an access token and a refresh token
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:
Full URL to the next page, or null if on the last page
links.previous
string|null
Full URL to the previous page, or null if on the first page
Pagination
All list endpoints use cursor-based pagination via page and per_page query parameters. The response always includes a links object with pre-built URLs for the next and previous pages — you don't need to construct them manually.
Query Parameters
Parameter
Type
Default
Description
page
integer
1
Page number to retrieve. Starts at 1.
per_page
integer
10
Number of records per page. Recommended max: 100.
Example: Paginating through parties
# Page 1
GET /api/parties/party/?page=1&per_page=10
# Page 2 (use the URL from links.next)
GET /api/parties/party/?page=2&per_page=10
Paginated Response Shape
{ "links": { "next": "https://api.athenafintech.app/api/parties/party/?page=2&per_page=10", "previous": null
}, "total": 84, // total records matching your query "page": 1, // current page "page_size": 10, // records per page "data": [ ... array of objects ... ] }
Most list endpoints support additional query parameters for filtering. For example, the GET /api/parties/party/ endpoint accepts search (full-text) and customerName (name filter). These can be combined with pagination:
GET /api/parties/party/?page=1&per_page=20&customerName=Athena&search=active
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
Status
Meaning
When it occurs
200 OK
Success
Request completed successfully. Response body contains the result.
201 Created
Resource Created
A new resource was created successfully.
400 Bad Request
Validation Error
Required fields are missing, or field values fail validation. Inspect the error field in the response body for details.
401 Unauthorized
Authentication Required
No token provided, or the token is expired/invalid. Re-authenticate via POST /api/login/.
403 Forbidden
Insufficient Permissions
Your account doesn't have permission for this action. Check the permissions array from your login response.
404 Not Found
Resource Not Found
The specified ID doesn't exist or belongs to a different company. Verify the ID using the corresponding list endpoint.
405 Method Not Allowed
Wrong HTTP Method
You used GET on a POST-only endpoint, or vice versa.
500 Internal Server Error
Server Error
Something 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
Name
Type
Description
username
string
required
e.g. rahul@gmail.com
password
string
required
e.g. admin@123
RETURNS
Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/login/";
using var client = new HttpClient();
var json = JsonSerializer.Serialize(payload);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
party_type
text
required
The purpose an organization or person can be used for. Valid values are Customer, Vendor.e.g. Customer
customer_type
text
required
Legal structure. Valid values are natural (Person) or non natural (Organization)e.g. Person
customer_name
text
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/party-add/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var content = new MultipartFormDataContent();
content.Add(new StringContent("Customer"), "party_type");
content.Add(new StringContent("Person"), "customer_type");
content.Add(new StringContent("Steve Conroy"), "customer_name");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
{
"success": 1,
"partyId": 548,
"response": "Party Created Successfully"
}
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
Name
Type
Description
party-id
integer
required
The unique ID of the Party Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
Name
Type
Description
party_type
text
required
The purpose an organization or person can be used for. Valid values are Customer, Vendor.e.g. Customer
customer_type
text
required
Legal structure. Valid values are natural (Person) or non natural (Organization).e.g. Person
customer_name
text
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/party-edit/<party-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var content = new MultipartFormDataContent();
content.Add(new StringContent("Customer"), "party_type");
content.Add(new StringContent("Person"), "customer_type");
content.Add(new StringContent("Steve Conroy"), "customer_name");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
party-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/party-delete/<party-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.DeleteAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
per_page
string
optional
e.g. 10
page
string
optional
e.g. 1
search
string
optional
Its use for search party.
customerName
string
optional
Filter 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/party/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
party-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/party-active/<party-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
party-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/party-inactive/<party-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
customer_name
text
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/partyvalidate/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var content = new MultipartFormDataContent();
content.Add(new StringContent("Smith"), "customer_name");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
{
"success": 1
}
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
Name
Type
Description
party-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/party-details/<party-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
party-id
integer
required
The unique ID of the Party Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
Name
Type
Description
address_line_1
text
required
The street address or primary address information.e.g. 15 Russell Dr.
address_line_2
text
required
Secondary address information including the apt or suite number.
city
text
required
An area in which a large number of people live fairly close together.e.g. Harwich
state
text
required
A centralized political organization that imposes and enforces rules over a population within a territory.e.g. Massachusetts
zip_code
text
required
A group of five or nine numbers that are added to a postal address to assist the sorting of mail.e.g. 2645
country
text
required
A nation with its own government, occupying a particular territory.e.g. United States
bill_to
text
required
The 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_to
text
required
The physical location(s) to which products are delivered.e.g. No
install_to
text
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/add-address/<party-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var content = new MultipartFormDataContent();
content.Add(new StringContent("15 Russell Dr."), "address_line_1");
content.Add(new StringContent(""), "address_line_2");
content.Add(new StringContent("Harwich"), "city");
content.Add(new StringContent("Massachusetts"), "state");
content.Add(new StringContent("2645"), "zip_code");
content.Add(new StringContent("United States"), "country");
content.Add(new StringContent("Yes"), "bill_to");
content.Add(new StringContent("No"), "ship_to");
content.Add(new StringContent("Yes"), "install_to");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
address-id
integer
required
The unique ID of the Address Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
Name
Type
Description
address_line_1
text
required
The street address or primary address information.e.g. 15 Russell Dr.
address_line_2
text
required
Secondary address information including the apt or suite number.
city
text
required
An area in which a large number of people live fairly close together.e.g. Harwich
state
text
required
A centralized political organization that imposes and enforces rules over a population within a territory.e.g. Massachusetts
zip_code
text
required
A group of five or nine numbers that are added to a postal address to assist the sorting of mail.e.g. 2645
country
text
required
A nation with its own government, occupying a particular territory.e.g. United States
bill_to
text
required
The 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_to
text
required
The physical location(s) to which products are delivered.e.g. No
install_to
text
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/address-edit/<address-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var content = new MultipartFormDataContent();
content.Add(new StringContent("15 Russell Dr."), "address_line_1");
content.Add(new StringContent(""), "address_line_2");
content.Add(new StringContent("Harwich"), "city");
content.Add(new StringContent("Massachusetts"), "state");
content.Add(new StringContent("2645"), "zip_code");
content.Add(new StringContent("United States"), "country");
content.Add(new StringContent("Yes"), "bill_to");
content.Add(new StringContent("No"), "ship_to");
content.Add(new StringContent("No"), "install_to");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
address-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/address-delete/<address-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.DeleteAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/manage-address/<party-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
address-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/address-active/<address-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
address-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/address-inactive/<address-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
party-id
integer
required
The unique ID of the Party Id. Obtain from the corresponding list endpoint.
REQUEST BODY
Name
Type
Description
prefix
string
required
e.g. Mr
first_name
string
required
e.g. Steve
last_name
string
required
e.g. Steve Conroy
phone_number
string
required
e.g. 12556639111
email
string
required
e.g. admin@gmail.com
RETURNS
Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/add-contact/<party-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var json = JsonSerializer.Serialize(payload);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
contact-id
integer
required
The unique ID of the Contact Id. Obtain from the corresponding list endpoint.
REQUEST BODY
Name
Type
Description
prefix
string
required
e.g. Mr
first_name
string
required
e.g. Ruth
last_name
string
required
e.g. Ruth Hoffer
phone_number
string
required
e.g. 12556639111
email
string
required
e.g. ruth@gmail.com
RETURNS
Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/edit-contact/<contact-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var json = JsonSerializer.Serialize(payload);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
contact-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/delete-contact/<contact-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.DeleteAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
party-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/manage-contact/<party-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
party-id
integer
required
The unique ID of the Party Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
Name
Type
Description
notification_reminder
text
required
An 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_type
text
required
The way in which the notification will be distributed e.g. emaile.g. Email
notification_days
text
required
The number of days, prior to the due date, that the notification will be sent.e.g. 30
to_email
text
required
Where the notification will be sent.e.g. admin@gmail.com
enable
text
required
Make (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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/add-notification/<party-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var content = new MultipartFormDataContent();
content.Add(new StringContent("Due Date Reminder"), "notification_reminder");
content.Add(new StringContent("Email"), "notification_type");
content.Add(new StringContent("30"), "notification_days");
content.Add(new StringContent("admin@gmail.com"), "to_email");
content.Add(new StringContent("1"), "enable");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
notification-id
integer
required
The unique ID of the Notification Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
Name
Type
Description
notification_reminder
text
required
An 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_type
text
required
The way in which the notification will be distributed e.g. emaile.g. Email
notification_days
text
required
The number of days, prior to the due date, that the notification will be sent.e.g. 30
to_email
text
required
Where the notification will be sent.e.g. admin@gmail.com
enable
text
required
Make (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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/edit-notification/<notification-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var content = new MultipartFormDataContent();
content.Add(new StringContent("Due Date Reminder"), "notification_reminder");
content.Add(new StringContent("Email"), "notification_type");
content.Add(new StringContent("30"), "notification_days");
content.Add(new StringContent("admin@gmail.com"), "to_email");
content.Add(new StringContent("1"), "enable");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
notification-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/delete-notification/<notification-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.DeleteAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
party-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/manage-notification/<party-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
party
text
required
Party database ID — must match an existing customer/vendore.g. 770
account_name
text
required
Name for this ACH bank accounte.g. Primary ACH
aba_transit_number
text
required
Bank routing (ABA) numbere.g. 021000021
account_number
text
required
Bank account numbere.g. 123456789
authorization_received
text
required
Y = authorization received, N = not receivede.g. Y
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/api/ach-accounts/create/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var content = new MultipartFormDataContent();
content.Add(new StringContent("770"), "party");
content.Add(new StringContent("Primary ACH"), "account_name");
content.Add(new StringContent("021000021"), "aba_transit_number");
content.Add(new StringContent("123456789"), "account_number");
content.Add(new StringContent("Y"), "authorization_received");
content.Add(new StringContent("Y"), "one_time_use_only");
content.Add(new StringContent("Y"), "active_yn");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/parties/api/ach-accounts/<int:pk>/update/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.PostAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
contract_type
text
required
A 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_date
text
required
The date on which your lease begins and you become legally responsible for the asset being leased.e.g. 2024-07-03
end_date
text
required
The 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
paymentstartdate
text
required
Date of the first payment.e.g. 2024-07-03
paymentrule
text
required
The rule of payment. e.g. Advance
frequency
text
required
The frequency of payment required for regular payment amounts set out on the loan.e.g. Monthly
amount
text
required
The amount of money owed under this contract.e.g. 900
contract_term
text
required
The period of time in which a contracted lease is in place.e.g. 12
address_id
text
required
The 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_id
text
required
The 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.
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
Name
Type
Description
contract-id
integer
required
The unique ID of the Contract Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
Name
Type
Description
contract_term
text
required
The period of time in which a contracted lease is in place.e.g. 12
contract_type
text
required
A 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_date
text
required
Date of the first payment.e.g. 2025-07-02
address_id
text
required
The 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
amount
text
required
Amount associated with this line item.e.g. 900
customer_id
text
required
The name of the person or business who leases something from a lessor; lessee.e.g. 3
end_date
text
required
The 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
paymentfrequency
text
required
The frequency of payment required for regular payment amounts set out on the loan.e.g. Monthly
paymentrule
text
required
The rule of paymente.g. Advance
paymentstartdate
text
required
Date of the first payment.e.g. 2024-07-03
start_date
text
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/contracts/contracts/0/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
contract-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/contracts/contract-details/<contract-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
contract-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/contracts/payment-view/<contract-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
contract-id
integer
required
The unique ID of the Contract Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
Name
Type
Description
no_of_payments
text
required
The number of payments during the schedule period.e.g. 12
payment_type
text
required
The means by which customers pay for the loan.e.g. Rent
payment_amount
text
required
The amount due for each payment.e.g. 1000
frequency
text
required
The frequency of payment required for regular payment amounts set out on the loan.e.g. Monthly
start_date
text
required
e.g. 2024-07-3
end_date
text
required
e.g. 2025-07-02
amount
text
required
e.g. 879.72
RETURNS
Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/contracts/payment-add/<contract-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var content = new MultipartFormDataContent();
content.Add(new StringContent("12"), "no_of_payments");
content.Add(new StringContent("Rent"), "payment_type");
content.Add(new StringContent("1000"), "payment_amount");
content.Add(new StringContent("Monthly"), "frequency");
content.Add(new StringContent("2024-07-3"), "start_date");
content.Add(new StringContent("2025-07-02"), "end_date");
content.Add(new StringContent("879.72"), "amount");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
paymentschedule-id
integer
required
The unique ID of the Paymentschedule Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
Name
Type
Description
no_of_payments
text
required
The number of payments during the schedule period.e.g. 12
payment_type
text
required
The means by which customers pay for the loan.e.g. Rent
amount
text
required
The amount due for each payment.e.g. 1000
frequency
text
required
The frequency of payment required for regular payment amounts set out on the loan.e.g. Monthly
start_date
text
required
e.g. 2024-07-05
end_date
text
required
e.g. 2025-07-04
RETURNS
Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/contracts/payment-edit/<paymentschedule-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var content = new MultipartFormDataContent();
content.Add(new StringContent("12"), "no_of_payments");
content.Add(new StringContent("Rent"), "payment_type");
content.Add(new StringContent("1000"), "amount");
content.Add(new StringContent("Monthly"), "frequency");
content.Add(new StringContent("2024-07-05"), "start_date");
content.Add(new StringContent("2025-07-04"), "end_date");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
contract-id
integer
required
The unique ID of the Contract Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
Name
Type
Description
reg_address
text
required
The place where the asset will be located.e.g. 5
vendor_name
text
required
The name of the vendor who supplied the asset.e.g. 19
asset_desc
text
required
Brief description of the asset.e.g. abc123
license_number
text
required
The license number associated with the asset.e.g. 2564
financed_amount
text
required
The initial financed amount of the asset.e.g. 3000
year
text
required
The calendar year in which a unit was manufactured.e.g. 2021
vin_number
text
required
The Vehicle Identification Number (VIN number) that is assigned to the current asset.e.g. 256l
license_state
text
required
The state in which the asset is licensed.e.g. Gujarat
dealer_payable
text
required
The amount payable to the dealer.e.g. 5000
manufacturer
text
required
The producer of the asset.e.g. 9-Square
make
text
required
The brand of the asset.e.g. XYZ
model
text
required
A combination of letters, digits, or characters representing the manufacturer, brand, design, or performance of an asset.e.g. 5G
user_purpose
text
required
The intended use of the asset.e.g. Driving
residal_value
text
required
The value of an asset at the end of a lease term.e.g. 0
vehicle_cost
text
required
e.g. 10000
RETURNS
Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.
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
Name
Type
Description
asset-id
integer
required
The unique ID of the Asset Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
Name
Type
Description
reg_address
text
required
Any written agreement under which a qualified lender lends or agrees to lend funds to a borrower.e.g. 5
vendor_name
text
required
The place where the asset will be located.e.g. 19
asset_number
text
required
The name of the vendor who supplied the asset.e.g. AH57568
asset_desc
text
required
Uniquely identifies the product purchased or leased.e.g. abc123
license_number
text
required
Brief description of the asset.e.g. 2564
financed_amount
text
required
The license number associated with the asset.e.g. 3000
year
text
required
The initial financed amount of the asset.e.g. 2021
vin_number
text
required
The calendar year in which a unit was manufactured.e.g. 256l
license_state
text
required
The Vehicle Identification Number (VIN number) that is assigned to the current asset.e.g. Gujarat
dealer_payable
text
required
The state in which the asset is licensed.e.g. 5000
manufacturer
text
required
The amount payable to the dealer.e.g. 9-Square
make
text
required
The producer of the asset.e.g. XYZ
model
text
required
The brand of the asset.e.g. 5G
user_purpose
text
required
A combination of letters, digits, or characters representing the manufacturer, brand, design, or performance of an asset.e.g. Driving
residal_value
text
required
The intended use of the asset.e.g. 0
vehicle_cost
text
required
The 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.
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
Name
Type
Description
asset-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/contracts/asset-delete/<asset-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.DeleteAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
{
"success": 1,
"response": "Assets Deleted"
}
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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/contracts/asset-view/909/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
contract-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/contracts/contracts/<contract-id>/modify/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.PostAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/contracts/contracts/8603/approve/2/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.PostAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
itemname
text
required
Brief name of the asset.e.g. Honda-activa
description
text
required
Brief description of the asset.e.g. Honda Activa 125 alloly-drum
serial_number
text
required
Uniquely identifies the product purchased or leased.e.g. SN09049205123
yearofmanufacture
text
required
The calendar year in which a unit was manufactured.e.g. 2020
manufacturer
text
required
The producer of the asset.e.g. India
model
text
required
A combination of letters, digits, or characters representing the manufacturer, brand, design, or performance of an asset.e.g. 2020
make
text
required
The brand of the asset.e.g. null
dateplacedinservice
text
required
The calendar date on which an asset could start to be used.e.g. 2024-05-08
lifeinmonths
text
required
Total remaining number of months in the asset's useful life.e.g. 4
netbookvalue
text
required
The historical cost of an asset, less any amounts recorded for depreciation, amortization, or depletion.e.g. 0
originalcost
text
required
The total price associated with the purchase of an asset.e.g. 90000
status
text
required
e.g. Available for Lease
asset_id
text
required
asset-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.
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
Name
Type
Description
inventory-id
integer
required
The unique ID of the Inventory Id. Obtain from the corresponding list endpoint.
FORM DATA PARAMETERS
Name
Type
Description
itemname
text
required
Name of the item.e.g. Toyota car
description
text
required
Brief name of the asset.e.g. Good Condition
year
text
required
Brief description of the asset.e.g. 2021
manufacturer
text
required
Uniquely identifies the product purchased or leased.e.g. Toyota
model
text
required
The calendar year in which a unit was manufactured.e.g. Crysta
make
text
required
The producer of the asset.e.g. Innova
date_place
text
required
A combination of letters, digits, or characters representing the manufacturer, brand, design, or performance of an asset.e.g. 2023-5-10
life_in_months
text
required
The brand of the asset.e.g. 12
netbookvalue
text
required
The calendar date on which an asset could start to be used.e.g. 2000
originalcost
text
required
Total remaining number of months in the asset's useful life.e.g. 18000
status
text
required
The 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.
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
Name
Type
Description
inventory-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/contracts/itemmaster-delete/<inventory-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.DeleteAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
per_page
string
optional
e.g. 10
page
string
optional
e.g. 1
search
string
optional
itemname
string
optional
serialnumber
string
optional
model
string
optional
make
string
optional
status
string
optional
manufacturer
string
optional
RETURNS
Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/contracts/itemmasterview/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/billing/create/invoice/0/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var json = JsonSerializer.Serialize(payload);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
invoice-id
integer
required
The unique ID of the Invoice Id. Obtain from the corresponding list endpoint.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app}/api/billing/create/invoice/<invoice-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var json = JsonSerializer.Serialize(payload);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
invoice-id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/billing/invoice-delete/<invoice-id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.DeleteAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
{
"success": 0,
"error": "Something went worng.",
"errors": "InvoiceHeader matching query does not exist."
}
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
Name
Type
Description
status
string
optional
per_page
string
optional
e.g. 10
page
string
optional
e.g. 1
search
string
optional
contractNumber
string
optional
customerName
string
optional
contractid
string
optional
e.g. undefined
RETURNS
Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/billing/invoices/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
receipt_method
text
required
The method by which the funds were received.e.g. Cash
receipt_date
text
required
The date of the receipt.e.g. 2024-12-20
customer_id
text
required
The customer associated with the contract this receipt should be applied against.e.g. 3
contract_id
text
required
The contract number this receipt should be applied against.e.g. 972
receipt_amount
text
required
The amount received for this receipt.e.g. 1000
remittance_bank
text
required
The bank which initiated the transfer of money.e.g. ICICI
receipt_reference
text
required
Reference number of the receipt.e.g. REF12345
comments
text
required
Any 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/receipts/create/receipts/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var content = new MultipartFormDataContent();
content.Add(new StringContent("Cash"), "receipt_method");
content.Add(new StringContent("2024-12-20"), "receipt_date");
content.Add(new StringContent("3"), "customer_id");
content.Add(new StringContent("972"), "contract_id");
content.Add(new StringContent("1000"), "receipt_amount");
content.Add(new StringContent("ICICI"), "remittance_bank");
content.Add(new StringContent("REF12345"), "receipt_reference");
content.Add(new StringContent("Payment received"), "comments");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
{
"error": "Receipt amount is required."
}
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
Name
Type
Description
receipt_id
text
required
The ID of receipt to be updatede.g. 212
receipt_method
text
required
The method by which the funds were received.e.g. Cash
remittance_bank
text
required
The bank which initiated the transfer of money.e.g. ICICI
receipt_reference
text
required
Reference number of the receipt.e.g. REF12345
comments
text
required
Any 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/receipts/update-receipts/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var content = new MultipartFormDataContent();
content.Add(new StringContent("212"), "receipt_id");
content.Add(new StringContent("Cash"), "receipt_method");
content.Add(new StringContent("ICICI"), "remittance_bank");
content.Add(new StringContent("REF12345"), "receipt_reference");
content.Add(new StringContent("Payment received"), "comments");
var response = await client.PostAsync(url, content);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
status
string
optional
per_page
string
optional
e.g. 10
page
string
optional
e.g. 1
search
string
optional
contractNumber
string
optional
customerName
string
optional
RETURNS
Returns a JSON object on success. On failure, returns an error object with success: 0 and an error field.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/receipts/view/receipts/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/receipts/show/receipt/<receipt_id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
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
Name
Type
Description
receipt_id
integer
required
The 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.
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var accessToken = "YOUR_ACCESS_TOKEN";
var url = "https://api.athenafintech.app/api/receipts/viewDetails/receipts/<receipt_id>/";
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.GetAsync(url);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
This website uses cookies to improve your experience and to personalize content. By continuing to use our website, you consent to our use of cookies. You can learn more about how we use cookies by reviewing our Privacy PolicyGot It!Cookie Policy