curl --request POST \
--url https://api.mycreditapp.ai/v1-beta/organizations/{org_id}/documents/requests \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Requester-Organization-ID: <requester-organization-id>' \
--header 'Target-Organization-ID: <target-organization-id>' \
--data '
{
"comment": "Example text"
}
'import requests
url = "https://api.mycreditapp.ai/v1-beta/organizations/{org_id}/documents/requests"
payload = { "comment": "Example text" }
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({comment: 'Example text'})
};
fetch('https://api.mycreditapp.ai/v1-beta/organizations/{org_id}/documents/requests', 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/organizations/{org_id}/documents/requests",
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([
'comment' => 'Example text'
]),
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/organizations/{org_id}/documents/requests"
payload := strings.NewReader("{\n \"comment\": \"Example text\"\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/organizations/{org_id}/documents/requests")
.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 \"comment\": \"Example text\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mycreditapp.ai/v1-beta/organizations/{org_id}/documents/requests")
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 \"comment\": \"Example text\"\n}"
response = http.request(request)
puts response.read_body{
"id": "a3c9e8f1-2b4d-4c6e-8f0a-1b2c3d4e5f60",
"status": "pending",
"host_organization_id": "a3c9e8f1-2b4d-4c6e-8f0a-1b2c3d4e5f60",
"guest_organization_id": "a3c9e8f1-2b4d-4c6e-8f0a-1b2c3d4e5f60",
"follow_up": true,
"expires_at": "2025-09-23T16:07:35.675578",
"created_at": "2025-09-23T16:07:35.675578",
"updated_at": "2025-09-23T16:07:35.675578",
"comment": "Example text"
}{
"detail": [
{
"loc": [],
"msg": "Unsupported CRUD operation!",
"type": "request",
"code": "unsupported_crud_operation"
},
{
"loc": [],
"msg": "No documents to request! The organization has already uploaded all required documents.",
"type": "request",
"code": "no_documents_to_request"
}
]
}{
"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"
}
]
}{
"detail": [
{
"loc": [],
"msg": "Account not found!",
"type": "request",
"code": "account_not_found"
},
{
"loc": [],
"msg": "Organization not found!",
"type": "request",
"code": "organization_not_found"
}
]
}{
"detail": [
{
"loc": [],
"msg": "At least one pending document request already exist between the same requester and responsible organizations!",
"type": "request",
"code": "at_least_one_pending_document_request_already_exist"
},
{
"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"
}
]
}Create the request to upload additional financial documents
Creates a request to upload additional financial documents.
Authorization scenarios
| Guest | Host | Self |
|---|---|---|
| ❌ | ✅ | ❌ |
curl --request POST \
--url https://api.mycreditapp.ai/v1-beta/organizations/{org_id}/documents/requests \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Requester-Organization-ID: <requester-organization-id>' \
--header 'Target-Organization-ID: <target-organization-id>' \
--data '
{
"comment": "Example text"
}
'import requests
url = "https://api.mycreditapp.ai/v1-beta/organizations/{org_id}/documents/requests"
payload = { "comment": "Example text" }
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({comment: 'Example text'})
};
fetch('https://api.mycreditapp.ai/v1-beta/organizations/{org_id}/documents/requests', 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/organizations/{org_id}/documents/requests",
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([
'comment' => 'Example text'
]),
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/organizations/{org_id}/documents/requests"
payload := strings.NewReader("{\n \"comment\": \"Example text\"\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/organizations/{org_id}/documents/requests")
.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 \"comment\": \"Example text\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mycreditapp.ai/v1-beta/organizations/{org_id}/documents/requests")
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 \"comment\": \"Example text\"\n}"
response = http.request(request)
puts response.read_body{
"id": "a3c9e8f1-2b4d-4c6e-8f0a-1b2c3d4e5f60",
"status": "pending",
"host_organization_id": "a3c9e8f1-2b4d-4c6e-8f0a-1b2c3d4e5f60",
"guest_organization_id": "a3c9e8f1-2b4d-4c6e-8f0a-1b2c3d4e5f60",
"follow_up": true,
"expires_at": "2025-09-23T16:07:35.675578",
"created_at": "2025-09-23T16:07:35.675578",
"updated_at": "2025-09-23T16:07:35.675578",
"comment": "Example text"
}{
"detail": [
{
"loc": [],
"msg": "Unsupported CRUD operation!",
"type": "request",
"code": "unsupported_crud_operation"
},
{
"loc": [],
"msg": "No documents to request! The organization has already uploaded all required documents.",
"type": "request",
"code": "no_documents_to_request"
}
]
}{
"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"
}
]
}{
"detail": [
{
"loc": [],
"msg": "Account not found!",
"type": "request",
"code": "account_not_found"
},
{
"loc": [],
"msg": "Organization not found!",
"type": "request",
"code": "organization_not_found"
}
]
}{
"detail": [
{
"loc": [],
"msg": "At least one pending document request already exist between the same requester and responsible organizations!",
"type": "request",
"code": "at_least_one_pending_document_request_already_exist"
},
{
"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 organization
"a3c9e8f1-2b4d-4c6e-8f0a-1b2c3d4e5f60"
Body
Optional comment for the document request
1000"Example text"
Response
Successful Response
Unique identifier of the request
"a3c9e8f1-2b4d-4c6e-8f0a-1b2c3d4e5f60"
Status of the request
pending, completed, expired Unique identifier of the organization
"a3c9e8f1-2b4d-4c6e-8f0a-1b2c3d4e5f60"
Unique identifier of the organization
"a3c9e8f1-2b4d-4c6e-8f0a-1b2c3d4e5f60"
Flag indicating whether the follow up request was already sent
Timestamp when the document request record expires
"2025-09-23T16:07:35.675578"
Timestamp when the document request record was created
"2025-09-23T16:07:35.675578"
Timestamp when the document request record was last updated
"2025-09-23T16:07:35.675578"
Optional comment for the document request
1000"Example text"