curl --request POST \
--url https://api.mycreditapp.ai/v1-beta/credit-applications/{credit_application_id}/statuses/internal-approve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Requester-Organization-ID: <requester-organization-id>' \
--header 'Target-Organization-ID: <target-organization-id>' \
--data '
{
"post_approval_changes": {
"proposed_amount": 60000,
"proposed_terms": "Net 45"
}
}
'import requests
url = "https://api.mycreditapp.ai/v1-beta/credit-applications/{credit_application_id}/statuses/internal-approve"
payload = { "post_approval_changes": {
"proposed_amount": 60000,
"proposed_terms": "Net 45"
} }
headers = {
"Requester-Organization-ID": "<requester-organization-id>",
"Target-Organization-ID": "<target-organization-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Requester-Organization-ID': '<requester-organization-id>',
'Target-Organization-ID': '<target-organization-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({post_approval_changes: {proposed_amount: 60000, proposed_terms: 'Net 45'}})
};
fetch('https://api.mycreditapp.ai/v1-beta/credit-applications/{credit_application_id}/statuses/internal-approve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mycreditapp.ai/v1-beta/credit-applications/{credit_application_id}/statuses/internal-approve",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'post_approval_changes' => [
'proposed_amount' => 60000,
'proposed_terms' => 'Net 45'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Requester-Organization-ID: <requester-organization-id>",
"Target-Organization-ID: <target-organization-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mycreditapp.ai/v1-beta/credit-applications/{credit_application_id}/statuses/internal-approve"
payload := strings.NewReader("{\n \"post_approval_changes\": {\n \"proposed_amount\": 60000,\n \"proposed_terms\": \"Net 45\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Requester-Organization-ID", "<requester-organization-id>")
req.Header.Add("Target-Organization-ID", "<target-organization-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mycreditapp.ai/v1-beta/credit-applications/{credit_application_id}/statuses/internal-approve")
.header("Requester-Organization-ID", "<requester-organization-id>")
.header("Target-Organization-ID", "<target-organization-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"post_approval_changes\": {\n \"proposed_amount\": 60000,\n \"proposed_terms\": \"Net 45\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mycreditapp.ai/v1-beta/credit-applications/{credit_application_id}/statuses/internal-approve")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Requester-Organization-ID"] = '<requester-organization-id>'
request["Target-Organization-ID"] = '<target-organization-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"post_approval_changes\": {\n \"proposed_amount\": 60000,\n \"proposed_terms\": \"Net 45\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"forwarder_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"shipper_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"detail": [
{
"loc": [],
"msg": "Required documents are missing for external review!",
"type": "request",
"code": "documents_missing_for_external_review"
},
{
"loc": [],
"msg": "Cannot change credit application status to 'internal approved' from the current status!",
"type": "request",
"code": "credit_application_internal_approve_invalid_status_transition"
},
{
"loc": [],
"msg": "Document analysis is required for external review!",
"type": "request",
"code": "document_analysis_required_for_external_review"
},
{
"loc": [],
"msg": "Unsupported CRUD operation!",
"type": "request",
"code": "unsupported_crud_operation"
}
]
}{
"detail": [
{
"loc": [],
"msg": "Token is required!",
"type": "token",
"code": "token_required"
},
{
"loc": [],
"msg": "The token has expired!",
"type": "token",
"code": "token_expired"
},
{
"loc": [],
"msg": "Invalid token!",
"type": "token",
"code": "invalid_token"
}
]
}{
"detail": [
{
"loc": [],
"msg": "Access denied!",
"type": "request",
"code": "access_denied"
},
{
"loc": [],
"msg": "Shipper does not have access to perform this action on the credit application!",
"type": "request",
"code": "credit_application_shipper_access_denied"
}
]
}{
"detail": [
{
"loc": [],
"msg": "Account not found!",
"type": "request",
"code": "account_not_found"
},
{
"loc": [],
"msg": "Credit application not found!",
"type": "request",
"code": "credit_application_not_found"
},
{
"loc": [],
"msg": "Organization not found!",
"type": "request",
"code": "organization_not_found"
}
]
}{
"detail": [
{
"loc": [],
"msg": "Shipper must have a valid organization score for external review!",
"type": "request",
"code": "credit_application_shipper_missing_organization_score"
},
{
"loc": [],
"msg": "The account is in the process of being deleted! The Account's email can only be reused after its data has been completely deleted. The removal process may take up to 24 hours.",
"type": "request",
"code": "account_being_deleted"
},
{
"loc": [],
"msg": "The organization is in the process of being deleted! The removal process may take up to 24 hours.",
"type": "request",
"code": "organization_being_deleted"
}
]
}{
"detail": [
{
"loc": [],
"msg": "The request is too large!",
"type": "request",
"code": "request_too_large"
}
]
}{
"detail": [
{
"loc": [
"string",
0
],
"msg": "string",
"type": "string",
"code": "validation_error"
}
]
}{
"detail": [
{
"loc": [],
"msg": "Error processing request, please try later!",
"type": "try_later",
"code": "internal_conflict_error"
}
]
}{
"detail": [
{
"loc": [],
"msg": "Service is under maintenance, please try later!",
"type": "maintanance",
"code": "service_under_maintenance"
}
]
}Internal approval for credit application
curl --request POST \
--url https://api.mycreditapp.ai/v1-beta/credit-applications/{credit_application_id}/statuses/internal-approve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Requester-Organization-ID: <requester-organization-id>' \
--header 'Target-Organization-ID: <target-organization-id>' \
--data '
{
"post_approval_changes": {
"proposed_amount": 60000,
"proposed_terms": "Net 45"
}
}
'import requests
url = "https://api.mycreditapp.ai/v1-beta/credit-applications/{credit_application_id}/statuses/internal-approve"
payload = { "post_approval_changes": {
"proposed_amount": 60000,
"proposed_terms": "Net 45"
} }
headers = {
"Requester-Organization-ID": "<requester-organization-id>",
"Target-Organization-ID": "<target-organization-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Requester-Organization-ID': '<requester-organization-id>',
'Target-Organization-ID': '<target-organization-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({post_approval_changes: {proposed_amount: 60000, proposed_terms: 'Net 45'}})
};
fetch('https://api.mycreditapp.ai/v1-beta/credit-applications/{credit_application_id}/statuses/internal-approve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mycreditapp.ai/v1-beta/credit-applications/{credit_application_id}/statuses/internal-approve",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'post_approval_changes' => [
'proposed_amount' => 60000,
'proposed_terms' => 'Net 45'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Requester-Organization-ID: <requester-organization-id>",
"Target-Organization-ID: <target-organization-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mycreditapp.ai/v1-beta/credit-applications/{credit_application_id}/statuses/internal-approve"
payload := strings.NewReader("{\n \"post_approval_changes\": {\n \"proposed_amount\": 60000,\n \"proposed_terms\": \"Net 45\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Requester-Organization-ID", "<requester-organization-id>")
req.Header.Add("Target-Organization-ID", "<target-organization-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mycreditapp.ai/v1-beta/credit-applications/{credit_application_id}/statuses/internal-approve")
.header("Requester-Organization-ID", "<requester-organization-id>")
.header("Target-Organization-ID", "<target-organization-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"post_approval_changes\": {\n \"proposed_amount\": 60000,\n \"proposed_terms\": \"Net 45\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mycreditapp.ai/v1-beta/credit-applications/{credit_application_id}/statuses/internal-approve")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Requester-Organization-ID"] = '<requester-organization-id>'
request["Target-Organization-ID"] = '<target-organization-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"post_approval_changes\": {\n \"proposed_amount\": 60000,\n \"proposed_terms\": \"Net 45\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"forwarder_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"shipper_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"detail": [
{
"loc": [],
"msg": "Required documents are missing for external review!",
"type": "request",
"code": "documents_missing_for_external_review"
},
{
"loc": [],
"msg": "Cannot change credit application status to 'internal approved' from the current status!",
"type": "request",
"code": "credit_application_internal_approve_invalid_status_transition"
},
{
"loc": [],
"msg": "Document analysis is required for external review!",
"type": "request",
"code": "document_analysis_required_for_external_review"
},
{
"loc": [],
"msg": "Unsupported CRUD operation!",
"type": "request",
"code": "unsupported_crud_operation"
}
]
}{
"detail": [
{
"loc": [],
"msg": "Token is required!",
"type": "token",
"code": "token_required"
},
{
"loc": [],
"msg": "The token has expired!",
"type": "token",
"code": "token_expired"
},
{
"loc": [],
"msg": "Invalid token!",
"type": "token",
"code": "invalid_token"
}
]
}{
"detail": [
{
"loc": [],
"msg": "Access denied!",
"type": "request",
"code": "access_denied"
},
{
"loc": [],
"msg": "Shipper does not have access to perform this action on the credit application!",
"type": "request",
"code": "credit_application_shipper_access_denied"
}
]
}{
"detail": [
{
"loc": [],
"msg": "Account not found!",
"type": "request",
"code": "account_not_found"
},
{
"loc": [],
"msg": "Credit application not found!",
"type": "request",
"code": "credit_application_not_found"
},
{
"loc": [],
"msg": "Organization not found!",
"type": "request",
"code": "organization_not_found"
}
]
}{
"detail": [
{
"loc": [],
"msg": "Shipper must have a valid organization score for external review!",
"type": "request",
"code": "credit_application_shipper_missing_organization_score"
},
{
"loc": [],
"msg": "The account is in the process of being deleted! The Account's email can only be reused after its data has been completely deleted. The removal process may take up to 24 hours.",
"type": "request",
"code": "account_being_deleted"
},
{
"loc": [],
"msg": "The organization is in the process of being deleted! The removal process may take up to 24 hours.",
"type": "request",
"code": "organization_being_deleted"
}
]
}{
"detail": [
{
"loc": [],
"msg": "The request is too large!",
"type": "request",
"code": "request_too_large"
}
]
}{
"detail": [
{
"loc": [
"string",
0
],
"msg": "string",
"type": "string",
"code": "validation_error"
}
]
}{
"detail": [
{
"loc": [],
"msg": "Error processing request, please try later!",
"type": "try_later",
"code": "internal_conflict_error"
}
]
}{
"detail": [
{
"loc": [],
"msg": "Service is under maintenance, please try later!",
"type": "maintanance",
"code": "service_under_maintenance"
}
]
}Authorizations
Bearer authentication using a JWT token. Provide a valid access token. Authorization header format: Authorization: Bearer <token>.
Headers
The unique identifier of the organization making the request. This ID is used to authorize the requester within the system.
"054b4106-174b-46b0-97f8-86d8d7b6f0af"
The unique identifier of the organization that is the target of the request.
The Target-Organization-ID may match the Requester-Organization-ID if the requester accesses their own resources.
If the Target-Organization-ID differs from the Requester-Organization-ID, the requester can access third-party resources if the requester has a connection with the target organization and is authorized to perform such actions.
"123e4567-e89b-12d3-a456-426614174000"
Path Parameters
Unique identifier of the credit application
"b2a9f8d3-7b7d-4c1b-a2a1-9c2d0b123456"
Body
Credit application post approval change
Show child attributes
Show child attributes
Response
Successful Response
Unique identifier of the credit application
"b2a9f8d3-7b7d-4c1b-a2a1-9c2d0b123456"
Type of credit application
credit_terms, trade_finance, factoring Unique identifier of the owner organization
"d2f8e6c4-1b3c-4a7b-9d2f-3b1e0a987654"
Unique identifier of the guest organization [blocked]
"c1e2f3b4-5a6b-7c8d-9e0f-1a2b3c4d5e6f"
Current status of the credit application
pending, internal_review, external_review, needs_action, approved, finalized, declined, rejected, expired, sign_document_created, sign_document_in_progress, sign_document_completed, sign_document_expired, sign_document_canceled, sign_document_declined, sign_document_process_failed Timestamp when the credit application was created
"2025-01-01T12:00:00.123456"
Timestamp when the credit application was last updated
"2025-01-02T12:00:00.123456"