OutFlo Public API / Guide
Authentication flow
Connect LinkedIn accounts, resolve checkpoints, and poll connection status.
Overview
The account connection flow starts with credentials, may require an OTP checkpoint, and finishes by polling account status. The contracts below document each step with the same field and response structure.
Authentication
Send the same x-api-key header with every request.
Canonical contract
Request and response schemas
Every operation below follows the same contract order. All responses use the standard status, data, and error envelope.
POST/api/public/accounts/loginStart a LinkedIn account login
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
No path parameters.
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| username | string | Yes | LinkedIn account email address or phone number. |
| password | string | Yes | LinkedIn account password. |
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Start a LinkedIn account login result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
Request body example
{
"username": "<string>",
"password": "<string>"
}Standard success envelope · 200
{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}Standard error envelope
{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/accounts/checkpoint/solveSubmit an account login checkpoint
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
No path parameters.
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| accountId | string · UUID | Yes | Account ID returned by the login request. |
| code | string | Yes | OTP or two-factor verification code. |
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Submit an account login checkpoint result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
Request body example
{
"accountId": "00000000-0000-4000-8000-000000000000",
"code": "<string>"
}Standard success envelope · 200
{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}Standard error envelope
{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/accounts/checkpoint/resendResend an account login checkpoint
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
No path parameters.
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| accountId | string · UUID | Yes | Account ID returned by the login request. |
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Resend an account login checkpoint result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
Request body example
{
"accountId": "00000000-0000-4000-8000-000000000000"
}Standard success envelope · 200
{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}Standard error envelope
{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}GET/api/public/accounts/status/{id}Get LinkedIn account connection status
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key. |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| id | string · UUID | Yes | id path identifier. |
Query parameters
No query parameters.
Request body
No request body.
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Get LinkedIn account connection status result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
Request example
{
"headers": {
"x-api-key": "<string>"
}
}Standard success envelope · 200
{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}Standard error envelope
{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}