Submit an onboarding application
curl --request POST \
--url https://api.engine.usesophic.com/onboarding-applications \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"authorities": [
{
"person": "<string>"
}
],
"consents": [
{
"consented_at": "2023-11-07T05:31:56Z",
"person": "<string>",
"legal_document_version": "<string>"
}
],
"evidence": [
{
"file": "<string>",
"person": "<string>"
}
]
}
'import requests
url = "https://api.engine.usesophic.com/onboarding-applications"
payload = {
"authorities": [{ "person": "<string>" }],
"consents": [
{
"consented_at": "2023-11-07T05:31:56Z",
"person": "<string>",
"legal_document_version": "<string>"
}
],
"evidence": [
{
"file": "<string>",
"person": "<string>"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
authorities: [{person: '<string>'}],
consents: [
{
consented_at: '2023-11-07T05:31:56Z',
person: '<string>',
legal_document_version: '<string>'
}
],
evidence: [{file: '<string>', person: '<string>'}]
})
};
fetch('https://api.engine.usesophic.com/onboarding-applications', 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.engine.usesophic.com/onboarding-applications",
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([
'authorities' => [
[
'person' => '<string>'
]
],
'consents' => [
[
'consented_at' => '2023-11-07T05:31:56Z',
'person' => '<string>',
'legal_document_version' => '<string>'
]
],
'evidence' => [
[
'file' => '<string>',
'person' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.engine.usesophic.com/onboarding-applications"
payload := strings.NewReader("{\n \"authorities\": [\n {\n \"person\": \"<string>\"\n }\n ],\n \"consents\": [\n {\n \"consented_at\": \"2023-11-07T05:31:56Z\",\n \"person\": \"<string>\",\n \"legal_document_version\": \"<string>\"\n }\n ],\n \"evidence\": [\n {\n \"file\": \"<string>\",\n \"person\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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.engine.usesophic.com/onboarding-applications")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"authorities\": [\n {\n \"person\": \"<string>\"\n }\n ],\n \"consents\": [\n {\n \"consented_at\": \"2023-11-07T05:31:56Z\",\n \"person\": \"<string>\",\n \"legal_document_version\": \"<string>\"\n }\n ],\n \"evidence\": [\n {\n \"file\": \"<string>\",\n \"person\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.engine.usesophic.com/onboarding-applications")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"authorities\": [\n {\n \"person\": \"<string>\"\n }\n ],\n \"consents\": [\n {\n \"consented_at\": \"2023-11-07T05:31:56Z\",\n \"person\": \"<string>\",\n \"legal_document_version\": \"<string>\"\n }\n ],\n \"evidence\": [\n {\n \"file\": \"<string>\",\n \"person\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"application": {},
"created_at": "2023-11-07T05:31:56Z",
"customer_type": "individual",
"id": "<string>",
"modified_at": "2023-11-07T05:31:56Z",
"status": "pending",
"outcome": "approved"
}{
"code": "<string>",
"detail": "<string>",
"context": {},
"docs": "<string>",
"params": [
{
"code": "<string>",
"detail": "<string>",
"path": [
123
]
}
]
}Onboarding
Submit an onboarding application
Submits an onboarding application for compliance review. All referenced persons must already exist. The application is validated against the onboarding requirements for the given customer type.
POST
/
onboarding-applications
Submit an onboarding application
curl --request POST \
--url https://api.engine.usesophic.com/onboarding-applications \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"authorities": [
{
"person": "<string>"
}
],
"consents": [
{
"consented_at": "2023-11-07T05:31:56Z",
"person": "<string>",
"legal_document_version": "<string>"
}
],
"evidence": [
{
"file": "<string>",
"person": "<string>"
}
]
}
'import requests
url = "https://api.engine.usesophic.com/onboarding-applications"
payload = {
"authorities": [{ "person": "<string>" }],
"consents": [
{
"consented_at": "2023-11-07T05:31:56Z",
"person": "<string>",
"legal_document_version": "<string>"
}
],
"evidence": [
{
"file": "<string>",
"person": "<string>"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
authorities: [{person: '<string>'}],
consents: [
{
consented_at: '2023-11-07T05:31:56Z',
person: '<string>',
legal_document_version: '<string>'
}
],
evidence: [{file: '<string>', person: '<string>'}]
})
};
fetch('https://api.engine.usesophic.com/onboarding-applications', 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.engine.usesophic.com/onboarding-applications",
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([
'authorities' => [
[
'person' => '<string>'
]
],
'consents' => [
[
'consented_at' => '2023-11-07T05:31:56Z',
'person' => '<string>',
'legal_document_version' => '<string>'
]
],
'evidence' => [
[
'file' => '<string>',
'person' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.engine.usesophic.com/onboarding-applications"
payload := strings.NewReader("{\n \"authorities\": [\n {\n \"person\": \"<string>\"\n }\n ],\n \"consents\": [\n {\n \"consented_at\": \"2023-11-07T05:31:56Z\",\n \"person\": \"<string>\",\n \"legal_document_version\": \"<string>\"\n }\n ],\n \"evidence\": [\n {\n \"file\": \"<string>\",\n \"person\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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.engine.usesophic.com/onboarding-applications")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"authorities\": [\n {\n \"person\": \"<string>\"\n }\n ],\n \"consents\": [\n {\n \"consented_at\": \"2023-11-07T05:31:56Z\",\n \"person\": \"<string>\",\n \"legal_document_version\": \"<string>\"\n }\n ],\n \"evidence\": [\n {\n \"file\": \"<string>\",\n \"person\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.engine.usesophic.com/onboarding-applications")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"authorities\": [\n {\n \"person\": \"<string>\"\n }\n ],\n \"consents\": [\n {\n \"consented_at\": \"2023-11-07T05:31:56Z\",\n \"person\": \"<string>\",\n \"legal_document_version\": \"<string>\"\n }\n ],\n \"evidence\": [\n {\n \"file\": \"<string>\",\n \"person\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"application": {},
"created_at": "2023-11-07T05:31:56Z",
"customer_type": "individual",
"id": "<string>",
"modified_at": "2023-11-07T05:31:56Z",
"status": "pending",
"outcome": "approved"
}{
"code": "<string>",
"detail": "<string>",
"context": {},
"docs": "<string>",
"params": [
{
"code": "<string>",
"detail": "<string>",
"path": [
123
]
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
People authorized to act and their authority types.
Minimum array length:
1Show child attributes
Show child attributes
Customer structure for the application.
Available options:
individual, joint, business Consent declarations attached to the application.
Show child attributes
Show child attributes
Evidence files attached to the application.
Show child attributes
Show child attributes
Response
Created
Submitted application data.
Customer type for the application.
Available options:
individual, joint, business Unique resource identifier.
Lifecycle status of the application.
Available options:
pending, processing, completed Final application outcome.
Available options:
approved, rejected, expired