Endpoint reference
Search and filter every documented operation by method and access.
Complete endpoint reference
Browse all 298 documented REST operations. Expand an operation for authentication, parameters, request fields and responses. Request templates use placeholder identifiers. Source-dependent, browser-only, internal and retired contracts retain their own access boundaries; listing an operation does not activate a source or grant access.
298 operations. Expand a group to browse without searching.
Accounts (31)
POST /auth/signupCreate a free-plan organization and begin email verification
First-party account flow · follow the website instructions
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
displayName | Yes | string · minLength: 1; maxLength: 120 | |
email | Yes | string · format: "email"; maxLength: 254 | |
organizationName | Yes | string · minLength: 1; maxLength: 160 | |
password | Yes | string · minLength: 12; maxLength: 128 | |
acceptedTerms | Yes | boolean · const: true | |
termsVersion | Yes | string · const: "2026-10-22" | Version of the Service Terms presented when assent was collected. |
privacyVersion | Yes | string · const: "2026-10-18" | Version of the Privacy Notice acknowledged when assent was collected. |
turnstileToken | Yes | string · minLength: 1; maxLength: 2048 | Single-use Cloudflare Turnstile token for action auth-signup. |
Request schema
{
"$ref": "#/components/schemas/SignupRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Free-plan account created; returns either a verification receipt or
Content type: application/json
Response schema
{
"oneOf": [
{
"$ref": "#/components/schemas/EmailVerificationPendingResponse"
},
{
"$ref": "#/components/schemas/AuthSessionResponse"
}
]
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /auth/signup/statusCheck verification from the browser that initiated signup
First-party account flow · follow the website instructions
First-party browser flow. Accepts the signed handoffTicket returned by signup, valid for 30 minutes. It is not an email-verification token or login credential. Returns only verification state for that signup; never grants a session. The response is no-store. Limit is 240 checks per ticket per 20 minutes, plus general request safeguards.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
ticket | Yes | string · minLength: 64; maxLength: 644; pattern: "^[A-Za-z0-9_-]{20,600}\\.[A-Za-z0-9_-]{43}$" | Signed 30-minute signup handoff. Treat as sensitive; do not log or persist in URLs. Not an email-verification token or session credential. |
Request schema
{
"$ref": "#/components/schemas/SignupHandoffRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Current verification state for this signup
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"type": "object",
"required": [
"data",
"meta"
],
"properties": {
"data": {
"type": "object",
"required": [
"verified"
],
"properties": {
"verified": {
"type": "boolean"
}
}
},
"meta": {
"$ref": "#/components/schemas/ApiMeta"
}
}
}HTTP 400
Invalid or expired ticket; error code invalid_signup_handoff
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /auth/signup/completeComplete verified signup in the originating browser
First-party account flow · follow the website instructions
Requires the unexpired signup handoff ticket, completed email verification and the account password. The ticket alone never signs a user in. MFA, account/workspace checks and login rate limits still apply. Production issues a Secure HttpOnly browser cookie, never a raw session credential. The default 12-hour session applies; rememberMe is not an input to this operation. Use the first-party website; this is not an API-key authentication endpoint. No new Turnstile token is required because the ticket was issued after the protected signup request.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
ticket | Yes | string · minLength: 64; maxLength: 644; pattern: "^[A-Za-z0-9_-]{20,600}\\.[A-Za-z0-9_-]{43}$" | Signed 30-minute signup handoff. Treat as sensitive; do not log or persist in URLs. Not an email-verification token or session credential. |
password | Yes | string · minLength: 1; maxLength: 128 |
Request schema
{
"type": "object",
"required": [
"ticket",
"password"
],
"properties": {
"ticket": {
"$ref": "#/components/schemas/SignupHandoffTicket"
},
"password": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"writeOnly": true
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Browser session created
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/AuthSessionResponse"
}HTTP 202
Password verified; MFA challenge required before session creation
HTTP 400
Invalid or expired ticket; error code invalid_signup_handoff
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Email verification is still pending; error code email_verification_pending
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /auth/loginExchange an account email and password for an expiring browser session
First-party account flow · follow the website instructions
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
email | Yes | string · format: "email"; maxLength: 254 | |
password | Yes | string · minLength: 1; maxLength: 128 | |
rememberMe | No | boolean · default: false | When true |
turnstileToken | Yes | string · minLength: 1; maxLength: 2048 | Single-use Cloudflare Turnstile token for action auth-login. |
Request schema
{
"$ref": "#/components/schemas/LoginRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Browser session created when no factor is configured
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/AuthSessionResponse"
}HTTP 202
Password verified; TOTP or passkey challenge required before a session is created
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /auth/email/verifyConsume a single-use email-verification token without signing in the device that opened it
First-party account flow · follow the website instructions
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
token | Yes | string · pattern: "^fs_verify_[A-Za-z0-9_-]{43}$" |
Request schema
{
"$ref": "#/components/schemas/AccountActionTokenRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Email verified; the user signs in separately
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /auth/email/resendRequest a replacement verification email without revealing account existence
First-party account flow · follow the website instructions
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
email | Yes | string · format: "email"; maxLength: 254 | |
turnstileToken | Yes | string · minLength: 1; maxLength: 2048 | Single-use Cloudflare Turnstile token bound to the corresponding recovery action. |
Request schema
{
"$ref": "#/components/schemas/EmailActionRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 202
Request accepted whether or not the account exists
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/AccountActionAcceptedResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /auth/password-reset/requestRequest a password-reset email without revealing account existence
First-party account flow · follow the website instructions
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
email | Yes | string · format: "email"; maxLength: 254 | |
turnstileToken | Yes | string · minLength: 1; maxLength: 2048 | Single-use Cloudflare Turnstile token bound to the corresponding recovery action. |
Request schema
{
"$ref": "#/components/schemas/EmailActionRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 202
Request accepted whether or not the account exists
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/AccountActionAcceptedResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /auth/password-reset/confirmConsume a single-use reset token, replace the password, and revoke active sessions
First-party account flow · follow the website instructions
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
token | Yes | string · pattern: "^fs_reset_[A-Za-z0-9_-]{43}$" | |
password | Yes | string · minLength: 12; maxLength: 128 |
Request schema
{
"$ref": "#/components/schemas/PasswordResetConfirmRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Password changed and existing browser sessions revoked
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /auth/logoutRevoke the current browser session
First-party account flow · follow the website instructions
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Browser session revoked
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/monitoringGet Monitoring v1 preferences and recent email delivery history
API key or signed-in session
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/monitoring' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Monitoring preferences and deliveries
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/MonitoringOverviewResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}PATCH /account/monitoring/preferencesConfigure license-free SEC filing and financing-change email alerts after source detection
API key or signed-in session
Owner or admin role required. Issuer filters must belong to the organization watchlist.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
Request schema
{
"$ref": "#/components/schemas/MonitoringPreferenceRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request PATCH 'https://api.filingsift.com/api/v1/account/monitoring/preferences' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Updated monitoring preferences
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/MonitoringPreferenceResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/monitoring/deliveriesList Monitoring v1 delivery, retry, and provenance history
API key or signed-in session
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
limit | query | No | integer · minimum: 1; maximum: 100; default: 50 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/monitoring/deliveries' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Monitoring delivery history
Content type: application/json
MonitoringDeliveryListResponse
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | array | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/MonitoringDeliveryListResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/monitoring/testSend a provenance-bearing test alert using the latest indexed watched filing
API key or signed-in session
Owner or admin role required. Limited to three test deliveries per user per hour.
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/account/monitoring/test' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 201
Test alert delivered
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/MonitoringDeliveryResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/monitoring/deliveries/{deliveryId}/retryQueue a failed or waiting Monitoring v1 delivery for immediate retry
API key or signed-in session
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
deliveryId | path | Yes | string · format: "uuid" |
Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/account/monitoring/deliveries/YOUR_DELIVERYID/retry' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Delivery queued for retry
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/MonitoringDeliveryResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/reader/annotationsList the signed-in user's private highlights and notes for one filing
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | query | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
User-scoped private annotations
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | array | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ReaderAnnotationListResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/reader/annotationsSave a private highlight and note against an exact server-verified passage
Signed-in website session · API keys are not accepted
Browser session required. The server copies the exact passage and hash; callers cannot submit evidence text.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
accession | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
passageId | Yes | string · pattern: "^(evidence|section|table)-[0-9a-f]{20}$" | |
note | No | string · maxLength: 4000 | |
color | No | string · default: "yellow"; one of: "yellow", "green", "blue", "pink" | |
visibility | No | string · default: "personal"; one of: "personal", "team" | |
mentionedUserIds | No | array · maxItems: 20 |
Request schema
{
"$ref": "#/components/schemas/ReaderAnnotationRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Annotation created or updated
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ReaderAnnotationResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/reader/annotations/{annotationId}Delete one private annotation owned by the signed-in user
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
annotationId | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Annotation deleted
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /accountGet the current organization, identity, plan, usage, companies, members, and redacted keys
API key or signed-in session
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Current account overview
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | schema | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/AccountResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /accountPermanently delete the signed-in account after explicit confirmation
Signed-in website session · API keys are not accepted
Browser session only. Active subscriptions must be cancelled first; protected platform administrators must transfer administration. Account deletion revokes credentials and cleans up private account data transactionally.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
currentPassword | Yes | string · minLength: 1; maxLength: 128 | |
confirmation | Yes | string · const: "DELETE" |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"currentPassword",
"confirmation"
],
"properties": {
"currentPassword": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"writeOnly": true
},
"confirmation": {
"type": "string",
"const": "DELETE"
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Account deleted and active credentials revoked
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}PATCH /account/profileChange the signed-in user's display name
Signed-in website session · API keys are not accepted
Browser session only. The name is shown in team member and review-assignment views; email, role, and entitlements are unchanged.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
displayName | Yes | string · minLength: 1; maxLength: 120 |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"displayName"
],
"properties": {
"displayName": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Updated display name
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}PATCH /account/emailChange the signed-in user's email and send a new verification message
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
email | Yes | string · format: "email"; maxLength: 254 | |
currentPassword | Yes | string · minLength: 1; maxLength: 128 |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"email",
"currentPassword"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"maxLength": 254
},
"currentPassword": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"writeOnly": true
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 202
Change accepted; verification is required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}PATCH /account/passwordReplace the signed-in user's password and revoke all active browser sessions
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
currentPassword | Yes | string · minLength: 1; maxLength: 128 | |
password | Yes | string · minLength: 12; maxLength: 128 |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"currentPassword",
"password"
],
"properties": {
"currentPassword": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"writeOnly": true
},
"password": {
"type": "string",
"minLength": 12,
"maxLength": 128,
"writeOnly": true
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Password changed; all active browser sessions and action tokens revoked
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/auditList the organization's latest account and key changes
API key or signed-in session
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/audit' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Latest account audit entries
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | array | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/AuditResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/api-keysCreate an API key whose token is returned exactly once
API key or signed-in session
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
name | Yes | string · minLength: 1; maxLength: 120 | |
userId | No | string · format: "uuid" | |
scopes | No | array · minItems: 1 | |
expiresInDays | No | integer | null · minimum: 1; maximum: 365; default: null | Omit or set null for no expiration. |
rotateAfterDays | No | integer | null · minimum: 1; maximum: 365; default: null | Optional rotation reminder; cannot exceed expiresInDays when expiration is set. |
Request schema
{
"$ref": "#/components/schemas/ApiKeyCreateRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/account/api-keys' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 201
Key created; securely store the one-time token
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ApiKeyIssueResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/api-keys/{key_id}/rotateAtomically revoke an active key and issue its replacement
API key or signed-in session
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
key_id | path | Yes | string · format: "uuid" | |
key_id | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/account/api-keys/YOUR_KEY_ID/rotate' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 201
Replacement token returned exactly once
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ApiKeyIssueResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/api-keys/{key_id}Revoke an active API key other than the key authorizing this request
API key or signed-in session
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
key_id | path | Yes | string · format: "uuid" | |
key_id | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request DELETE 'https://api.filingsift.com/api/v1/account/api-keys/YOUR_KEY_ID' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Redacted revoked-key metadata
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | Redacted key metadata. Raw tokens and stored SHA-256 hashes are never present. |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ApiKeyResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/companiesAdd a ticker to the organization's bounded company set
API key or signed-in session
All plans return indexed_existing immediately for an existing non-illustrative filing belonging to the resolved SEC issuer. Missing coverage queues a shared asynchronous request for up to 25 supported filings and two SEC historical-submission files within plan lookback and pending/company limits. Unknown SEC tickers return 422; no complete historical coverage or completion time is guaranteed.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
ticker | Yes | string · pattern: "^[A-Za-z0-9.-]{1,16}$" |
Request schema
{
"type": "object",
"required": [
"ticker"
],
"properties": {
"ticker": {
"type": "string",
"pattern": "^[A-Za-z0-9.-]{1,16}$"
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/account/companies' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 201
Company entitlement added; Professional and Team use existing indexed coverage while Free and Builder may queue bounded onboarding
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/TickerResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Syntactically valid ticker is not present in the current SEC issuer directory
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/companies/{ticker}/onboardingRetry bounded SEC onboarding for a configured ticker
API key or signed-in session
All plans may request bounded asynchronous retrieval for an already configured company. Repeated active requests share the same issuer queue. Company authorization, pending-request limits and processing lookback remain enforced.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
ticker | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/account/companies/YOUR_TICKER/onboarding' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 202
Onboarding request accepted
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/TickerResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Syntactically valid ticker is not present in the current SEC issuer directory
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/companies/{ticker}Remove a ticker from the organization's company set
API key or signed-in session
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
ticker | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request DELETE 'https://api.filingsift.com/api/v1/account/companies/YOUR_TICKER' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 204
Company entitlement removed
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}PATCH /account/members/{user_id}Update a member role while preserving at least one owner
API key or signed-in session
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
user_id | path | Yes | string · format: "uuid" | |
user_id | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
role | Yes | string · one of: "owner", "admin", "member", "viewer" |
Request schema
{
"type": "object",
"required": [
"role"
],
"properties": {
"role": {
"$ref": "#/components/schemas/MembershipRole"
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request PATCH 'https://api.filingsift.com/api/v1/account/members/YOUR_USER_ID' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Updated membership
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/MembershipResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/members/{user_id}Remove a member and revoke all of that member's active keys
API key or signed-in session
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
user_id | path | Yes | string · format: "uuid" | |
user_id | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request DELETE 'https://api.filingsift.com/api/v1/account/members/YOUR_USER_ID' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 204
Member removed and keys revoked
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}Analyst (27)
GET /analyst/vocabularyList analyst export metrics, formats, and bounds
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/analyst/vocabulary'Responses
HTTP 200
Analyst export vocabulary
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}POST /analyst/tables/financingMerge bounded debt, liquidity, maturity, lifecycle, covenant, default, and comparable-table evidence
API key or signed-in session
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
tickers | Yes | array · minItems: 1; maxItems: 20 | |
periods | No | integer · minimum: 1; maximum: 20; default: 8 | |
metrics | No | array · minItems: 1 |
Request schema
{
"$ref": "#/components/schemas/AnalystExportRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/analyst/tables/financing' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Source-linked analyst tables with explicit unavailable cells
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /analyst/exports/xlsxDownload a deterministic Excel workbook with source-linked filing-derived cells
API key or signed-in session
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
tickers | Yes | array · minItems: 1; maxItems: 20 | |
periods | No | integer · minimum: 1; maximum: 20; default: 8 | |
metrics | No | array · minItems: 1 |
Request schema
{
"$ref": "#/components/schemas/AnalystExportRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/analyst/exports/xlsx' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
XLSX workbook with debt/liquidity, maturity, lifecycle, covenant, default, comparable-table, and manifest sheets
Response headers: X-Export-Sha256, X-Manifest-Sha256.
Content type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Response schema
{
"type": "string",
"format": "binary"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /analyst/exports/xlsx/manifestReproduce the workbook and dataset checksums for an analyst export request
API key or signed-in session
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
tickers | Yes | array · minItems: 1; maxItems: 20 | |
periods | No | integer · minimum: 1; maximum: 20; default: 8 | |
metrics | No | array · minItems: 1 |
Request schema
{
"$ref": "#/components/schemas/AnalystExportRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/analyst/exports/xlsx/manifest' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Workbook and dataset SHA-256 manifest
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /analyst/modeling/vocabularyList versioned formula, concept, template, and request bounds
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/analyst/modeling/vocabulary'Responses
HTTP 200
Analyst modeling vocabulary
POST /analyst/formulas/resolveResolve bounded VALUE, EVIDENCE, and TABLE formulas with exact XBRL provenance
API key or signed-in session
Required scopes: exports:read. Account, role and source checks still apply.
Deployed migration 027 route requiring exports:read, billing access and issuer and indexed-history access; accepts at most 500 uniquely identified formulas expanding to at most 1000 data cells. Comparability-aware comparability review makes latest select a period end rather than a filing vintage. Competing scope, value or unresolved metadata returns null with alternatives/review; a singleton with blocking metadata is unavailable. Available scalars disclose only_matching_observation or equivalent_observations_with_representative_source selection. Capped candidate scans and unsafe numeric conversions do not select a value.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
Request schema
{
"oneOf": [
{
"$ref": "#/components/schemas/AnalystModelDefinition"
},
{
"$ref": "#/components/schemas/AnalystScalarFormula"
},
{
"$ref": "#/components/schemas/AnalystTableFormula"
}
]
}Request example:
{
"formulas": [
{
"id": "cash",
"function": "VALUE",
"ticker": "AAPL",
"concept": "cash_and_cash_equivalents",
"period": "latest"
}
]
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/analyst/formulas/resolve' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Content-addressed model snapshot
HTTP 400
Invalid formula
HTTP 403
Issuer or history is not entitled
POST /analyst/templates/renderRender a historical-statement or comparable-company matrix
API key or signed-in session
Required scopes: exports:read. Account, role and source checks still apply.
Deployed migration 027 route requiring exports:read, billing access, and issuer and indexed-history access. TABLE cells use the same comparability-aware scalar policy as formula resolution; available cells retain source context and verification metadata, while unresolved alternatives remain null with review details.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
id | No | string · minLength: 1; maxLength: 120 | |
function | No | string · const: "TABLE" | |
template | No | string · default: "historical_statements"; one of: "historical_statements", "comparable_companies" | |
ticker | No | string | |
tickers | No | array · minItems: 1; maxItems: 25 | |
concepts | No | array · minItems: 1; maxItems: 25 | |
period | No | string | |
periods | No | array · minItems: 1; maxItems: 40 |
Request schema
{
"type": "object",
"required": [],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"function": {
"type": "string",
"const": "TABLE"
},
"template": {
"type": "string",
"enum": [
"historical_statements",
"comparable_companies"
],
"default": "historical_statements"
},
"ticker": {
"type": "string"
},
"tickers": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 25
},
"concepts": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 25
},
"period": {
"type": "string"
},
"periods": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 40
}
},
"anyOf": [
{
"required": [
"ticker"
]
},
{
"required": [
"tickers"
]
}
]
}Request example:
{
"template": "historical_statements",
"tickers": [
"AAPL"
],
"concepts": [
"cash_and_cash_equivalents"
],
"periods": [
"latest"
]
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/analyst/templates/render' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Source-linked table snapshot
GET /account/analyst/modelsList user-scoped saved models, latest refresh state, and schedules
Signed-in website session · API keys are not accepted
Requires a browser session, account:read, exports:read, and billing access. API keys are rejected.
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Saved analyst models
POST /account/analyst/modelsCreate a bounded saved analyst model
Signed-in website session · API keys are not accepted
Requires a browser session, account:read, exports:read, and billing access. API keys are rejected.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
Request schema
{
"oneOf": [
{
"type": "object",
"required": [
"name",
"definition"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"definition": {
"$ref": "#/components/schemas/AnalystModelDefinition"
}
}
},
{
"allOf": [
{
"$ref": "#/components/schemas/AnalystModelDefinition"
},
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
}
}
]
}
]
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Model created
POST /account/analyst/models/{id}/refreshRefresh a saved model and persist a deterministic cell-level change manifest
Signed-in website session · API keys are not accepted
Requires the owner's browser session, account:read, exports:read, and billing access; issuer and indexed-history access are rechecked for current and prior provenance. New v2 manifests retain complete before/after cells, formulas and observed differences without causal inference. Appends compare the latest saved snapshot atomically and never silently evict history. API keys are rejected. The deployed route reuses migration 027.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Content-addressed snapshot and analyst-model-change-manifest-v2
HTTP 403
Current or retained historical source access cannot be established
HTTP 409
model_refresh_base_changed
HTTP 413
model_refresh_too_large when combined snapshot and manifest exceed 1500000 compact JSON bytes
GET /account/analyst/models/{id}/refreshesList bounded refresh snapshot and manifest history
Signed-in website session · API keys are not accepted
Requires the owner's browser session, account:read, exports:read, billing access, and current issuer and indexed-history access to the entire saved provenance chain including old sources and alternatives. Returns at most 100 stored refreshes without rebuilding. Missing legacy metadata fails closed. Global response-size limits apply. API keys are rejected.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Refresh history
GET /account/analyst/models/{id}/refresh-reviewReview stored before/after model cells and observed correction history
Signed-in website session · API keys are not accepted
Deployed route reusing migration 027. Requires the owner's browser session, account:read, exports:read, billing, and current issuer and indexed-history access to the entire saved history and retained before/after provenance, before cell filtering. Selects newest matching refreshes and returns them chronologically. Does not read current filings or regenerate explanations. Legacy explanations are unavailable; insufficient saved scope/date metadata refuses the whole read. Changes describe observations, not issuer restatements or causal conclusions. Manifest counts remain complete even for a cell-filtered review. Only limit and cell_id are accepted.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" | |
limit | query | No | integer · minimum: 1; maximum: 100; default: 20 | |
cell_id | query | No | string · minLength: 1; maxLength: 512 | Exact model data-cell ID |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Saved explainable refresh review
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
meta | Yes | object | |
data | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ModelRefreshReviewResponse"
}HTTP 400
Unsupported
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Billing access required
HTTP 403
Session/scope or whole saved issuer and indexed-history access cannot be established; no trimming or current-data fallback
HTTP 404
Model not found for this user and organization
HTTP 409
model_refresh_snapshot_integrity_failed or model_refresh_manifest_integrity_failed; no current-data reconstruction
HTTP 413
Global response-size limit exceeded; request fewer refreshes or an exact cell filter
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}PUT /account/analyst/models/{id}/scheduleConfigure an hourly, daily, or weekly entitlement-checked model refresh
Signed-in website session · API keys are not accepted
Requires a browser session, account:read, and workspace:write. The worker rechecks current billing and issuer and indexed-history access when executing a refresh.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
frequency | No | string · default: "daily"; one of: "hourly", "daily", "weekly" | |
enabled | No | boolean · default: true | |
destinationIds | No | array · minItems: 0; maxItems: 10 |
Request schema
{
"type": "object",
"properties": {
"frequency": {
"type": "string",
"enum": [
"hourly",
"daily",
"weekly"
],
"default": "daily"
},
"enabled": {
"type": "boolean",
"default": true
},
"destinationIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"minItems": 0,
"maxItems": 10
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Model schedule
POST /account/analyst/snapshots/previewPreview a bounded immutable research artifact without saving
Signed-in website session · API keys are not accepted
Deployed migration 029 workflow with bounded base preview/save/reopen and access-change acceptance. Requires a browser session, account:read, exports:read, billing access, and current issuer and indexed-history access. API keys and all query parameters are rejected. No arbitrary backdated or search/XBRL replay is supported. Captures at most 40 filings and 400 documents; selected input JSON is capped at 12000000 bytes and the artifact at 1500000 bytes. Unsupported nested result fields and incomplete/corrupt included evidence refuse capture without silent dropping. Filing-timeline and broader customer-workflow acceptance remain separate.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
Request schema
{
"oneOf": [
{
"$ref": "#/components/schemas/ResearchSnapshotDefinition"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"definition"
],
"properties": {
"definition": {
"$ref": "#/components/schemas/ResearchSnapshotDefinition"
},
"sourceReport": {
"type": "object",
"additionalProperties": true,
"description": "Signed source report required for source_research_report"
}
}
}
]
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Unsaved materialized result with source manifest and integrity hashes
Response headers: Cache-Control.
Content type: application/json
ResearchSnapshotPreviewResponse
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | oneOf | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ResearchSnapshotPreviewResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Current billing access required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Duplicate accession sources must be reconciled before capture
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Selected inputs or resulting artifact exceed capture bounds
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Invalid source identity/date/SEC URL or JSON input; research_snapshot_unsafe_evidence for unsupported result fields or incomplete/corrupt included evidence
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
research_snapshot_sources_unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/analyst/snapshotsList the owner's private snapshot summaries and organization cap usage
Signed-in website session · API keys are not accepted
Requires a browser session, account:read, exports:read, and billing access. Does not recheck issuer and indexed-history access for summary metadata; full-result reopening does. Returns no other user's artifact metadata. No query parameters or pagination; organization storage is capped at 100 artifacts.
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Owner summaries with organization-wide count
Response headers: Cache-Control.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ResearchSnapshotListResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Current billing access required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/analyst/snapshotsRebuild a reviewed preview and save an independent immutable artifact
Signed-in website session · API keys are not accepted
Requires a browser session, account:read, exports:read, billing access, and current issuer and indexed-history access. Rebuilds and checks expectedContentSha256 before insertion; changed sources, analysis, or scope return 409 rather than silently replacing reviewed content. Included evidence/result safety and the configured successful-response size budget are checked before persistence. Duplicate names are allowed. No UPDATE/upsert, automatic expiry, or query parameters.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
name | Yes | string · minLength: 1; maxLength: 120 | |
definition | Yes | object | |
sourceReport | No | object | Signed source report required for source_research_report; verified without refetching providers |
expectedContentSha256 | Yes | string · pattern: "^[a-f0-9]{64}$" |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"definition",
"expectedContentSha256"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"definition": {
"$ref": "#/components/schemas/ResearchSnapshotDefinition"
},
"sourceReport": {
"type": "object",
"additionalProperties": true,
"description": "Signed source report required for source_research_report; verified without refetching providers"
},
"expectedContentSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Immutable artifact created
Response headers: Cache-Control.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ResearchSnapshotSavedResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Current billing access required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
research_snapshot_preview_changed
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Selected inputs or artifact exceed capture bounds
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Invalid source metadata or JSON input; research_snapshot_unsafe_evidence for unsupported result fields or incomplete/corrupt included evidence
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
research_snapshot_sources_unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/analyst/snapshots/{id}Verify and reopen an exact private saved materialized result
Signed-in website session · API keys are not accepted
Requires the owner's browser session, account:read, exports:read, billing access, current issuer access, and valid captured source dates under the current indexed-history access policy. An out-of-scope source denies the entire artifact; no partial rewrite or live rebuild is performed. Reopening verifies saved hashes and does not read current filing records or rerun parsers/builders. SEC/reader links still open live resources. No query parameters.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Exact saved artifact plus its saved ID
Response headers: Cache-Control.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ResearchSnapshotSavedResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Current billing access required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
research_snapshot_not_found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
research_snapshot_schema_unsupported or research_snapshot_integrity_failed; saved content is not regenerated
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/analyst/snapshots/{id}Explicitly delete the owner's private saved artifact
Signed-in website session · API keys are not accepted
Requires the owner's valid browser session and account:read, but not current exports scope, billing, issuer, or history entitlement, so cleanup remains possible after access loss. API keys and all query parameters are rejected. Deletes this artifact, not source filing records or other snapshots.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Saved artifact deleted; no response body
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
research_snapshot_not_found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/analyst/workspaceList personal research folders, saved views, and citation-bound memo drafts
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Personal analyst workspace
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/analyst/foldersCreate a capped personal research folder with tags and bounded items
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
name | Yes | string · maxLength: 120 | |
description | No | string · maxLength: 1000 | |
tags | No | array · maxItems: 20 | |
items | No | array · maxItems: 100 |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120
},
"description": {
"type": "string",
"maxLength": 1000
},
"tags": {
"type": "array",
"maxItems": 20,
"items": {
"type": "string"
}
},
"items": {
"type": "array",
"maxItems": 100,
"items": {
"type": "object"
}
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Research folder created
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/analyst/viewsSave an allowlisted FilingSift dashboard route and bounded configuration
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
name | Yes | string · minLength: 1; maxLength: 120 | |
route | Yes | string · maxLength: 500 | Internal /#/search, intelligence, reader, analyst or monitoring route. |
configuration | No | object | At most 20 KB of JSON. |
tags | No | array · minItems: 0; maxItems: 20 |
Request schema
{
"$ref": "#/components/schemas/SavedDashboardViewRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Dashboard view saved
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/analyst/memosCreate a memo draft from mandatory citations re-resolved against indexed evidence
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
title | Yes | string · maxLength: 160 | |
analystNotes | No | string · maxLength: 10000 | |
reviewState | No | string · one of: "draft", "in_review", "reviewed" | |
citations | Yes | array · minItems: 1; maxItems: 50 |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"title",
"citations"
],
"properties": {
"title": {
"type": "string",
"maxLength": 160
},
"analystNotes": {
"type": "string",
"maxLength": 10000
},
"reviewState": {
"type": "string",
"enum": [
"draft",
"in_review",
"reviewed"
]
},
"citations": {
"type": "array",
"minItems": 1,
"maxItems": 50,
"items": {
"type": "object",
"required": [
"accession",
"evidenceSha256"
],
"properties": {
"accession": {
"type": "string"
},
"evidenceSha256": {
"type": "string"
}
}
}
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Citation-bound memo draft
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}PATCH /account/analyst/folders/{id}Update a user-owned research folder
Signed-in website session · API keys are not accepted
Browser session required.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
name | No | string · maxLength: 120 | |
description | No | string · maxLength: 1000 | |
tags | No | array · maxItems: 20 | |
items | No | array · maxItems: 100 |
Request schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"maxLength": 120
},
"description": {
"type": "string",
"maxLength": 1000
},
"tags": {
"type": "array",
"maxItems": 20,
"items": {
"type": "string"
}
},
"items": {
"type": "array",
"maxItems": 100,
"items": {
"type": "object"
}
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Research folder updated
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/analyst/folders/{id}Delete a user-owned research folder
Signed-in website session · API keys are not accepted
Browser session required.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Research folder deleted
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/analyst/views/{id}Delete a user-owned saved dashboard view
Signed-in website session · API keys are not accepted
Browser session required.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Dashboard view deleted
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}PATCH /account/analyst/memos/{id}Update a user-owned memo draft or review state
Signed-in website session · API keys are not accepted
Browser session required. Supplied citations are re-resolved against indexed evidence.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
title | No | string · maxLength: 160 | |
analystNotes | No | string · maxLength: 10000 | |
reviewState | No | string · one of: "draft", "in_review", "reviewed" | |
citations | No | array · minItems: 1; maxItems: 50 |
Request schema
{
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 160
},
"analystNotes": {
"type": "string",
"maxLength": 10000
},
"reviewState": {
"type": "string",
"enum": [
"draft",
"in_review",
"reviewed"
]
},
"citations": {
"type": "array",
"minItems": 1,
"maxItems": 50,
"items": {
"type": "object",
"required": [
"accession",
"evidenceSha256"
],
"properties": {
"accession": {
"type": "string"
},
"evidenceSha256": {
"type": "string"
}
}
}
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Citation-bound memo updated
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/analyst/memos/{id}Delete a user-owned memo draft
Signed-in website session · API keys are not accepted
Browser session required.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Memo draft deleted
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}Bank Research (5)
GET /reference/retained-history/{source}Retained FDIC, EIA or CFTC windows and collection status
API key or signed-in session
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
source | path | Yes | string · one of: "fdic", "eia", "cftc" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reference/retained-history/YOUR_SOURCE' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Authenticated collection status; no-store
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | No | object |
Response schema
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"source": {
"type": "string"
},
"status": {
"type": "string"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"cftcFamilies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"metrics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
}
}
}
}
}
}
},
"datasets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"dataset": {
"type": "string"
},
"completedWindows": {
"type": "integer"
},
"totalWindows": {
"type": "integer"
},
"records": {
"type": "integer"
},
"windows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RetainedHistoryWindow"
}
}
}
}
}
}
}
}
}HTTP 401
Authentication required
HTTP 402
Billing entitlement required
HTTP 403
Read scope required
HTTP 429
Rate limited
HTTP 503
Archive or source admission unavailable
POST /reference/retained-history/querySearch and compare retained bank, energy or CFTC observations
API key or signed-in session
Requires intelligence:read, entitled billing and reference-history access. Completed windows only; at most 500 rows and eight object reads per page. Repeat every filter with nextCursor as cursor, including after an empty page. Cursors pin the original checkpoint. Restart to include newer downloads. Numeric values are exact decimal strings or null, never missing-as-zero. These are retrieved revisions, not publication-time vintages. CFTC retained queries accept longer spans than live-provider queries; select one family, one metric and up to four exact market codes. Net is long minus short. Contract units and families differ; these observations are not market prices.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
source | Yes | string · one of: "fdic", "eia", "cftc" | |
dataset | Yes | string · one of: "financials", "sod", "retail_sales", "generation_mix", "petroleum_stocks", "natural_gas_storage", "legacy_futures", "legacy_combined", "disaggregated_futures", "disaggregated_combined", "tff_futures", "tff_combined", "supplemental" | |
metric | Yes | string | FDIC catalog code or DEPSUMBR; EIA price/revenue/sales |
startDate | Yes | string · format: "date" | |
endDate | Yes | string · format: "date" | |
marketCodes | No | array · minItems: 1; maxItems: 4 | Required for CFTC only; discover codes through the live CFTC market search |
certificates | No | array · maxItems: 25 | |
name | No | string · maxLength: 100 | FDIC name substring |
state | No | string | EIA area or FDIC branch state; no financial-state reconstruction |
sector | No | string | Required for monthly EIA datasets |
series | No | string | Required for weekly EIA datasets |
fuel | No | string | Optional generation fuel code |
min | No | string | Inclusive exact decimal bound; excludes missing cells |
max | No | string | Inclusive exact decimal bound; excludes missing cells |
cursor | No | string · maxLength: 1500 |
Request schema
{
"$ref": "#/components/schemas/RetainedHistoryQuery"
}Request example:
{
"source": "eia",
"dataset": "petroleum_stocks",
"metric": "value",
"series": "WCESTUS1",
"startDate": "1982-01-01",
"endDate": "2026-10-23"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/reference/retained-history/query' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
A bounded page with explicit incomplete windows and provenance
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | No | object |
Response schema
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/RetainedHistoryResult"
}
}
}HTTP 400
Invalid filters or mismatched cursor
HTTP 401
Authentication required or account changed
HTTP 402
Billing entitlement required
HTTP 403
Missing read scope or history outside plan
HTTP 429
Rate limited or another archive read is running
HTTP 503
Archive unavailable
GET /reference/fdic/banksBank screener definitions and availability
API key or signed-in session
Requires intelligence:read and entitled billing; browser session or API key. Reference-history access applies. No query parameters. Amounts are USD thousands; percent values use 1 for 1%. Net income is year-to-date. Records are source-reported, not investment or bank-safety ratings. New measures are fetched on demand, not a completed stored-history expansion. Screen pages use ascending certificate order; repeat the exact filters and page size with nextCursor. Restart after 409 fdic_screen_changed. Exports must identify their loaded-page scope.
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reference/fdic/banks' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Source-linked result; Cache-Control: no-store
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/BankScreenCatalogResponse"
}HTTP 400
Invalid filters or cursor
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Authentication required or revoked
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Billing access required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Scope or history access denied
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
No reporting quarter available
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Provider index changed; restart pagination
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
Request limit reached
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 502
Provider response failed scope or integrity checks
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Source not admitted or temporarily unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /reference/fdic/banks/screenScreen reported FDIC bank financials
API key or signed-in session
Requires intelligence:read and entitled billing; browser session or API key. Reference-history access applies. No query parameters. Amounts are USD thousands; percent values use 1 for 1%. Net income is year-to-date. Records are source-reported, not investment or bank-safety ratings. New measures are fetched on demand, not a completed stored-history expansion. Screen pages use ascending certificate order; repeat the exact filters and page size with nextCursor. Restart after 409 fdic_screen_changed. Exports must identify their loaded-page scope.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
reportDate | No | oneOf · default: "latest" | |
name | No | string · maxLength: 120 | |
state | No | string · pattern: "^([A-Z]{2})?$" | |
active | No | schema · default: "all"; one of: "all", "active", "inactive" | |
ranges | No | array · maxItems: 6 | |
limit | No | integer · minimum: 1; maximum: 50; default: 50 | |
cursor | No | string | null |
Request schema
{
"$ref": "#/components/schemas/BankScreenInput"
}Request example:
{
"reportDate": "latest",
"ranges": [
{
"metric": "ASSET",
"min": "1000000"
},
{
"metric": "NCLNLSR",
"min": "1"
}
],
"limit": 50
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/reference/fdic/banks/screen' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Source-linked result; Cache-Control: no-store
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/BankScreenResponse"
}HTTP 400
Invalid filters or cursor
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Authentication required or revoked
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Billing access required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Scope or history access denied
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
No reporting quarter available
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Provider index changed; restart pagination
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
Request limit reached
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 502
Provider response failed scope or integrity checks
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Source not admitted or temporarily unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /reference/fdic/banks/compareCompare up to 25 banks across eight quarters
API key or signed-in session
Requires intelligence:read and entitled billing; browser session or API key. Reference-history access applies. No query parameters. Amounts are USD thousands; percent values use 1 for 1%. Net income is year-to-date. Records are source-reported, not investment or bank-safety ratings. New measures are fetched on demand, not a completed stored-history expansion. Screen pages use ascending certificate order; repeat the exact filters and page size with nextCursor. Restart after 409 fdic_screen_changed. Exports must identify their loaded-page scope.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
reportDate | No | oneOf · default: "latest" | |
certs | Yes | array · minItems: 1; maxItems: 25 | |
quarters | No | integer · minimum: 1; maximum: 8; default: 1 |
Request schema
{
"$ref": "#/components/schemas/BankPeerScreenInput"
}Request example:
{
"reportDate": "2026-06-30",
"certs": [
"628",
"3510",
"7213",
"3511",
"6548",
"7211"
],
"quarters": 4
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/reference/fdic/banks/compare' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Source-linked result; Cache-Control: no-store
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/BankScreenResponse"
}HTTP 400
Invalid filters or cursor
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Authentication required or revoked
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Billing access required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Scope or history access denied
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
No reporting quarter available
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Provider index changed; restart pagination
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
Request limit reached
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 502
Provider response failed scope or integrity checks
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Source not admitted or temporarily unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}Billing (7)
GET /billing/catalogGet plans and self-service billing availability
No API key required; supplied credentials can add restrictions
Returns the runtime monthly price and packaging catalog. All self-service plans share the published capability groups and differ by server-enforced capacity limits. providerEnabled and pricingStatus reflect configured provider and commercial activation; each plan has purchaseAvailable. All self-service plans include bounded asynchronous company retrieval; backfillReviewRequired=false applies to standard retrieval of up to 25 supported filings. Complete or custom historical backfills still require separate review. Consumers must read these flags rather than assume checkout is always enabled or disabled. seatBillingEnabled separately reports configured additional-seat billing.
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/billing/catalog'Responses
HTTP 200
Billing catalog
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/BillingCatalogResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/billingGet entitlement, runtime catalog, subscription state, and invoices
API key or signed-in session
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/billing' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Current billing state
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | schema | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/AccountBillingResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/billing/invoicesList bounded provider-hosted invoice and receipt metadata
API key or signed-in session
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/billing/invoices' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Invoice history
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | array | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/InvoiceListResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/billing/checkoutCreate hosted checkout for an available paid plan
API key or signed-in session
Builder, Professional and Team support checkout when commercial billing is active. Professional and Team buy existing indexed coverage within plan limits; additional company coverage and historical backfills require separate review.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
planKey | Yes | string · one of: "builder", "professional", "team" |
Request schema
{
"type": "object",
"required": [
"planKey"
],
"properties": {
"planKey": {
"type": "string",
"enum": [
"builder",
"professional",
"team"
]
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/account/billing/checkout' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 201
Provider-hosted checkout session
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}PATCH /account/billing/seatsUpdate seats within the plan/member bounds with immediate Stripe proration
API key or signed-in session
Available only when commercial billing and a separate additional-seat Price are configured. Check catalog.seatBillingEnabled; the base flat-plan subscription item stays at quantity one.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
quantity | Yes | integer · minimum: 1 |
Request schema
{
"type": "object",
"required": [
"quantity"
],
"properties": {
"quantity": {
"type": "integer",
"minimum": 1
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request PATCH 'https://api.filingsift.com/api/v1/account/billing/seats' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 202
Prorated seat update accepted
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/billing/portalCreate a provider-hosted customer portal session
API key or signed-in session
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/account/billing/portal' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 201
Provider-hosted portal session
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/billing/cancelRequest subscription cancellation now or at period end
API key or signed-in session
No path or query parameters are specified for this operation.
Request body
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
atPeriodEnd | No | boolean · default: true |
Request schema
{
"type": "object",
"properties": {
"atPeriodEnd": {
"type": "boolean",
"default": true
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/account/billing/cancel' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Cancellation request accepted
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}Contract (6)
GET /metaGet the current API and schema versions
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/meta'Responses
HTTP 200
Current contract metadata and capability gates
Response headers: X-API-Version, ETag.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/MetadataResponse"
}HTTP 304
Representation matches If-None-Match; response has no body
Response headers: ETag, X-API-Version.
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /deprecation-policyGet the v1 compatibility and retirement policy
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/deprecation-policy'Responses
HTTP 200
Active version policy
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/DeprecationPolicyResponse"
}HTTP 304
Representation matches If-None-Match; response has no body
Response headers: ETag, X-API-Version.
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /statusRead public service and ingestion status
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/status'Responses
HTTP 200
Public component status
GET /changelogRead dated public product changes
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/changelog'Responses
HTTP 200
Public changelog
GET /status/historyRead observed API availability and latency plus current ingestion delay
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
days | query | No | integer · minimum: 1; maximum: 90; default: 30 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/status/history'Responses
HTTP 200
Customer-data-free operational history; observed measurements are not an SLA
GET /incidentsRead the public incident ledger
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/incidents'Responses
HTTP 200
Public incident ledger
Corporate Events (5)
GET /corporate-events/vocabularyList corporate-event domains and issuer-history views
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/corporate-events/vocabulary'Responses
HTTP 200
Supported domains
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}POST /corporate-events/queryQuery source-linked ownership, governance, compensation, offering, and transaction observations
No API key required; supplied credentials can add restrictions
Public query with optional credentials; supplied credentials require search:read and billing access. No watchlist or plan-history filter is applied. Follow request-bound data.pagination.nextCursor; candidate observations are source-linked and ready for analyst review.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
query | No | string · maxLength: 300 | |
filters | No | object | |
cursor | No | string | |
limit | No | integer · minimum: 1; maximum: 100; default: 50 |
Request schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 300
},
"filters": {
"type": "object",
"additionalProperties": true
},
"cursor": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/corporate-events/query' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Request-bound cursor page with exact filing provenance
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /corporate-events/coverageGet extraction counts, freshest dates, and known gaps by form and issuer
No API key required; supplied credentials can add restrictions
Public event counts by domain and filing/extracted-filing/event/known-gap counts by form and issuer. This is not a reviewed accuracy rate. Optional credentials require search:read and billing access.
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/corporate-events/coverage'Responses
HTTP 200
Domain
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}GET /corporate-events/issuers/{ticker}/{view}Get a source-linked issuer ownership, compensation, governance, capital-markets, or transaction history
No API key required; supplied credentials can add restrictions
Public history with a default of 50 and maximum of 100 observations per page. Optional credentials require search:read and billing access; no account-history or watchlist restriction is applied.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string | |
view | path | Yes | string · one of: "insider-transactions", "beneficial-ownership", "institutional-holdings", "compensation", "governance", "capital-markets", "transactions" | |
query | query | No | string · maxLength: 300 | |
cursor | query | No | string | |
limit | query | No | integer · minimum: 1; maximum: 100 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/corporate-events/issuers/YOUR_TICKER/YOUR_VIEW'Responses
HTTP 200
Cursor-paginated issuer history with exact source evidence
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /corporate-events/exportExport one source-linked cursor chunk as CSV or NDJSON
No API key required; supplied credentials can add restrictions
Same optional authentication as corporate-event queries. Accepts query, filters, cursor, limit, and format in a JSON body; exports at most 100 observations and preserves evidence. Follow X-Next-Cursor while X-Export-Truncated is true.
No path or query parameters are specified for this operation.
Request body
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
query | No | string · maxLength: 300 | |
filters | No | object | |
cursor | No | string | |
limit | No | integer · minimum: 1; maximum: 100; default: 100 | |
format | No | string · default: "csv"; one of: "csv", "ndjson" |
Request schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 300
},
"filters": {
"type": "object",
"additionalProperties": true
},
"cursor": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 100
},
"format": {
"type": "string",
"enum": [
"csv",
"ndjson"
],
"default": "csv"
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/corporate-events/export' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Export with row count
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}Developer (15)
GET /developer/sandboxRead clearly labeled illustrative filing, stream, and archive examples
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/developer/sandbox'Responses
HTTP 200
Illustrative sandbox data that cannot be mistaken for an SEC filing
GET /filings/streamStream newly indexed entitled filings with reconnectable SSE cursors
API key or signed-in session
Deployed migration 028 route. Requires explicit stream:read, current billing access, and the organization's selected issuers and indexed-history access. Persist eventId for reconnects through cursor or Last-Event-ID; cursor takes precedence. follow=false emits at most 100 available events and closes. Following streams send 15-second heartbeat comments. Consumers are responsible for reconnection and deduplication.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
cursor | query | No | string | |
cik | query | No | string | |
ticker | query | No | string | |
form | query | No | string | |
follow | query | No | boolean · default: true | |
Last-Event-ID | header | No | string |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/filings/stream' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Filing event stream
Content type: text/event-stream
Response schema
{
"type": "string"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /filings/{accession}/parsed.htmlRender safe HTML from parsed sections and tables without serving raw SEC HTML
API key or signed-in session
Deployed route requiring filings:read, billing access, and valid indexed-history access. The current router does not apply the stream's selected-company filter. The configured response byte limit applies; this is rendered parsed output, not the original SEC document.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/filings/YOUR_ACCESSION/parsed.html' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Parsed HTML
Content type: text/html
Response schema
{
"type": "string"
}GET /filings/{accession}/parsed.txtRender parsed filing and exhibit text with SEC source headers
API key or signed-in session
Deployed route requiring filings:read, billing access, and valid indexed-history access. No selected-company filter is applied by the current router. Text is limited to stored parsed sections and selected indexed exhibits and is subject to the configured response byte limit.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/filings/YOUR_ACCESSION/parsed.txt' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Parsed text
Content type: text/plain
Response schema
{
"type": "string"
}GET /filings/{accession}/tables.jsonRead source-linked parsed filing and exhibit tables
API key or signed-in session
Deployed route requiring filings:read, billing access, and valid indexed-history access. No selected-company filter is applied by the current router. Returns stored parsed tables rather than every table or attachment in the SEC filing; the JSON response size limit applies.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/filings/YOUR_ACCESSION/tables.json' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Parsed table JSON
GET /filings/{accession}/xbrl.jsonRead raw XBRL facts, contexts, networks, mappings, and explicit conflicts
API key or signed-in session
Deployed route requiring filings:read, billing access, and valid indexed-history access; no selected-company filter is applied by the current router. Reads at most 5000 facts and 500 conflicts without continuation. Use /xbrl/facts for paginated raw observations. Contexts are parsed representations retaining source context IDs, not original scenario XML.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/filings/YOUR_ACCESSION/xbrl.json' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Source-linked XBRL JSON
HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /filings/{accession}/clean.pdfDownload a bounded clean evidence PDF with clickable SEC sources
API key or signed-in session
Deployed route requiring filings:read, billing access, and valid indexed-history access; no selected-company filter is applied by the current router. This is a source-linked evidence report, not a facsimile or complete reproduction of the SEC document. The configured response byte limit applies.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/filings/YOUR_ACCESSION/clean.pdf' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Clean evidence PDF
Content type: application/pdf
Response schema
{
"type": "string",
"format": "binary"
}GET /account/developerRead developer resources, caps, and benchmark gates
API key or signed-in session
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/developer' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Developer-platform overview
POST /account/service-accountsCreate an expiring least-privilege service credential
API key or signed-in session
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
name | Yes | string · maxLength: 120 | |
scopes | Yes | array · minItems: 1; maxItems: 16 | |
expiresInDays | No | integer · minimum: 1; maximum: 365; default: 90 | |
rotateAfterDays | No | integer · minimum: 1; maximum: 365; default: 60 |
Request schema
{
"type": "object",
"required": [
"name",
"scopes"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120
},
"scopes": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "string"
}
},
"expiresInDays": {
"type": "integer",
"minimum": 1,
"maximum": 365,
"default": 90
},
"rotateAfterDays": {
"type": "integer",
"minimum": 1,
"maximum": 365,
"default": 60
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/account/service-accounts' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 201
Service account and one-time credential
DELETE /account/service-accounts/{service_account_id}Disable the service account and revoke its keys atomically
API key or signed-in session
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
service_account_id | path | Yes | string · format: "uuid" |
Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request DELETE 'https://api.filingsift.com/api/v1/account/service-accounts/YOUR_SERVICE_ACCOUNT_ID' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Disabled service account
GET /account/api-keys/{key_id}/telemetryRead bounded daily usage, latency, bytes, and errors
API key or signed-in session
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
key_id | path | Yes | string · format: "uuid" | |
days | query | No | integer · minimum: 1; maximum: 90; default: 30 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/api-keys/YOUR_KEY_ID/telemetry' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Per-key daily telemetry
GET /account/batch-jobsList the organization batch queue
API key or signed-in session
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/batch-jobs' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Batch jobs
POST /account/batch-jobsQueue a bounded filing, exhibit, fact, or event archive
API key or signed-in session
Requires a credential and batch:write. Accepts 1–100 accessions; processing checks current billing plus the issuer/history grant captured at submission, and missing accessions fail the job. Expanded archive kinds are deployed migration 028 functionality. expiresAt is set to seven days after creation; both stores enforce it at read time independently of retention cleanup. Result payloads are capped at 25 MB and fact archives at 25000 output records. Fact selection exhausts 500-row XBRL cursor pages, checks retained package count/identity before completion, and falls back to deterministic source-bound filing facts only for absent/not-available legacy packages. Overflow or source change refuses the whole archive. This is a complete retained-fact export within the bounds, not every original SEC XBRL construct, a complete filing package, or a market archive.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
kind | Yes | string · one of: "filing_bundle", "filing_archive", "exhibit_archive", "fact_archive", "event_archive" | |
items | Yes | array · minItems: 1; maxItems: 100 |
Request schema
{
"type": "object",
"required": [
"kind",
"items"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"filing_bundle",
"filing_archive",
"exhibit_archive",
"fact_archive",
"event_archive"
]
},
"items": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"type": "string"
}
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/account/batch-jobs' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 202
Batch job queued
GET /account/batch-jobs/{job_id}Read batch queue, completion, failure, and manifest state
API key or signed-in session
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
job_id | path | Yes | string · format: "uuid" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/batch-jobs/YOUR_JOB_ID' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Batch job status
GET /account/batch-jobs/{job_id}/downloadDownload a completed source-retaining archive and checksum manifest
API key or signed-in session
Requires a credential with batch:read, a job owned by the current organization, succeeded status, current billing, an unexpired seven-day timestamp, and every retained source within both the original and current issuer/history grants. Legacy jobs without an access receipt fail closed. Payload and manifest integrity are revalidated before download; non-succeeded jobs return 409. X-Manifest-Sha256 hashes the canonical manifest excluding its hash fields; X-Export-Sha256 hashes the canonical result, not the downloaded JSON bytes containing the manifest. This attachment uses no-store and bypasses the JSON middleware response cap; the generation payload cap is separate.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
job_id | path | Yes | string · format: "uuid" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/batch-jobs/YOUR_JOB_ID/download' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
JSON archive with checksum manifest
HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}Economic Research (6)
GET /reference/economics/catalogeconomicCatalog
No API key required; supplied credentials can add restrictions
Stored, source-linked economic observations and explicitly derived calculations. At most eight series, ten years and a 1.75 MB analysis response. Monthly/quarterly/annual periods; last or mean aggregation; no interpolation, no summing GDP rates. Partial periods, missing values and zero denominators remain null. Transform lookback stays inside requested/account history. BIS-only public queries never enter account billing or paid usage quotas. Other queries require intelligence:read, entitled billing and reference-history access. Saved dashboards require a browser session and workspace:write for mutations; six charts each and the shared organization cap of 20 dashboards. Definitions are saved, not frozen data or point-in-time vintages.
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reference/economics/catalog'Responses
HTTP 200
Successful response
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/EconomicCatalogResponse"
}HTTP 400
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /reference/economics/queryqueryEconomicSeries
API key or signed-in session
Stored, source-linked economic observations and explicitly derived calculations. At most eight series, ten years and a 1.75 MB analysis response. Monthly/quarterly/annual periods; last or mean aggregation; no interpolation, no summing GDP rates. Partial periods, missing values and zero denominators remain null. Transform lookback stays inside requested/account history. BIS-only public queries never enter account billing or paid usage quotas. Other queries require intelligence:read, entitled billing and reference-history access. Saved dashboards require a browser session and workspace:write for mutations; six charts each and the shared organization cap of 20 dashboards. Definitions are saved, not frozen data or point-in-time vintages.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
startDate | Yes | string · format: "date" | |
endDate | Yes | string · format: "date" | |
frequency | Yes | schema · one of: "monthly", "quarterly", "annual" | |
aggregation | Yes | schema · one of: "mean", "last" | |
lines | Yes | array · minItems: 1; maxItems: 8 | |
calculations | No | array · maxItems: 4 |
Request schema
{
"$ref": "#/components/schemas/EconomicRequest"
}Request example:
{
"startDate": "2024-01-01",
"endDate": "2025-12-31",
"frequency": "quarterly",
"aggregation": "mean",
"lines": [
{
"id": "s1",
"series": "bls:CUSR0000SA0",
"transform": "yoy"
},
{
"id": "s2",
"series": "bea:A191RL",
"transform": "level"
}
],
"calculations": []
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/reference/economics/query' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Successful response
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/EconomicResponse"
}HTTP 400
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /reference/economics/public-queryqueryPublicBisSeries
No API key required; supplied credentials can add restrictions
Stored, source-linked economic observations and explicitly derived calculations. At most eight series, ten years and a 1.75 MB analysis response. Monthly/quarterly/annual periods; last or mean aggregation; no interpolation, no summing GDP rates. Partial periods, missing values and zero denominators remain null. Transform lookback stays inside requested/account history. BIS-only public queries never enter account billing or paid usage quotas. Other queries require intelligence:read, entitled billing and reference-history access. Saved dashboards require a browser session and workspace:write for mutations; six charts each and the shared organization cap of 20 dashboards. Definitions are saved, not frozen data or point-in-time vintages.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
startDate | Yes | string · format: "date" | |
endDate | Yes | string · format: "date" | |
frequency | Yes | schema · one of: "monthly", "quarterly", "annual" | |
aggregation | Yes | schema · one of: "mean", "last" | |
lines | Yes | array · minItems: 1; maxItems: 8 | |
calculations | No | array · maxItems: 4 |
Request schema
{
"$ref": "#/components/schemas/EconomicRequest"
}Request example:
{
"startDate": "2024-01-01",
"endDate": "2025-12-31",
"frequency": "quarterly",
"aggregation": "mean",
"lines": [
{
"id": "s1",
"series": "bis:total_credit:US:P",
"transform": "level"
}
],
"calculations": []
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/reference/economics/public-query' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Successful response
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/EconomicResponse"
}HTTP 400
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/economics/dashboardslistEconomicDashboards
API key or signed-in session
Stored, source-linked economic observations and explicitly derived calculations. At most eight series, ten years and a 1.75 MB analysis response. Monthly/quarterly/annual periods; last or mean aggregation; no interpolation, no summing GDP rates. Partial periods, missing values and zero denominators remain null. Transform lookback stays inside requested/account history. BIS-only public queries never enter account billing or paid usage quotas. Other queries require intelligence:read, entitled billing and reference-history access. Saved dashboards require a browser session and workspace:write for mutations; six charts each and the shared organization cap of 20 dashboards. Definitions are saved, not frozen data or point-in-time vintages.
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/economics/dashboards' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Successful response
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/EconomicDashboardListResponse"
}HTTP 400
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/economics/dashboardssaveEconomicDashboard
API key or signed-in session
Stored, source-linked economic observations and explicitly derived calculations. At most eight series, ten years and a 1.75 MB analysis response. Monthly/quarterly/annual periods; last or mean aggregation; no interpolation, no summing GDP rates. Partial periods, missing values and zero denominators remain null. Transform lookback stays inside requested/account history. BIS-only public queries never enter account billing or paid usage quotas. Other queries require intelligence:read, entitled billing and reference-history access. Saved dashboards require a browser session and workspace:write for mutations; six charts each and the shared organization cap of 20 dashboards. Definitions are saved, not frozen data or point-in-time vintages.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
name | Yes | string · minLength: 1; maxLength: 120 | |
visibility | Yes | schema · one of: "personal", "team" | |
charts | Yes | array · minItems: 1; maxItems: 6 |
Request schema
{
"$ref": "#/components/schemas/EconomicDashboardInput"
}Request example:
{
"name": "Economic dashboard",
"visibility": "personal",
"charts": [
{
"title": "Inflation and growth",
"request": {
"startDate": "2024-01-01",
"endDate": "2025-12-31",
"frequency": "quarterly",
"aggregation": "mean",
"lines": [
{
"id": "s1",
"series": "bls:CUSR0000SA0",
"transform": "yoy"
},
{
"id": "s2",
"series": "bea:A191RL",
"transform": "level"
}
],
"calculations": []
}
}
]
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/account/economics/dashboards' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 201
Successful response
Content type: application/json
EconomicDashboardSavedResponse
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/EconomicDashboardSavedResponse"
}HTTP 400
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/economics/dashboards/{id}deleteEconomicDashboard
API key or signed-in session
Stored, source-linked economic observations and explicitly derived calculations. At most eight series, ten years and a 1.75 MB analysis response. Monthly/quarterly/annual periods; last or mean aggregation; no interpolation, no summing GDP rates. Partial periods, missing values and zero denominators remain null. Transform lookback stays inside requested/account history. BIS-only public queries never enter account billing or paid usage quotas. Other queries require intelligence:read, entitled billing and reference-history access. Saved dashboards require a browser session and workspace:write for mutations; six charts each and the shared organization cap of 20 dashboards. Definitions are saved, not frozen data or point-in-time vintages.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request DELETE 'https://api.filingsift.com/api/v1/account/economics/dashboards/YOUR_ID' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 204
Deleted
HTTP 400
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Invalid request, denied access, bounded result or unavailable source
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}Entity Research (6)
GET /reference/entities/searchsearchLegalEntities
API key or signed-in session
Standalone GLEIF research; no retained SEC issuer required. Requires intelligence:read, billing access and source admission. History/compare enforce current reference-history access before and after retrieval. Twenty explorer requests/minute per organization share the GLEIF provider quota of 30/minute and five-minute cache. Lists return twenty rows per page, up to 100 pages. Candidates are not confirmed SEC matches; accounting relationships are not complete ownership. Current provider events differ from retained observations. Missing fields remain unavailable.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
name | query | Yes | string | |
country | query | No | string · pattern: "^[A-Z]{2}$" | |
entityStatus | query | No | one of: "ACTIVE", "INACTIVE" | |
registrationStatus | query | No | one of: "ISSUED", "LAPSED", "RETIRED", "ANNULLED", "DUPLICATE", "MERGED", "PENDING_TRANSFER", "PENDING_ARCHIVAL" | |
page | query | No | integer · minimum: 1; maximum: 100 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reference/entities/search' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
--data-urlencode 'name=YOUR_NAME'Responses
HTTP 200
Source-linked results; inspect status, gaps and coverage.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ExplorerSearchResponse"
}HTTP 400
Invalid query
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Authentication required or revoked
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Billing access required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Scope or history access denied
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Snapshot unavailable for LEI and account history
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Response limit exceeded
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
Rate limit exceeded
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Source or evidence unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reference/entities/{lei}lookupLegalEntity
API key or signed-in session
Standalone GLEIF research; no retained SEC issuer required. Requires intelligence:read, billing access and source admission. History/compare enforce current reference-history access before and after retrieval. Twenty explorer requests/minute per organization share the GLEIF provider quota of 30/minute and five-minute cache. Lists return twenty rows per page, up to 100 pages. Candidates are not confirmed SEC matches; accounting relationships are not complete ownership. Current provider events differ from retained observations. Missing fields remain unavailable.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
lei | path | Yes | string · pattern: "^[A-Z0-9]{18}[0-9]{2}$" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reference/entities/YOUR_LEI' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Source-linked results; inspect status, gaps and coverage.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ExplorerEntityResponse"
}HTTP 400
Invalid query
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Authentication required or revoked
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Billing access required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Scope or history access denied
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Snapshot unavailable for LEI and account history
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Response limit exceeded
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
Rate limit exceeded
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Source or evidence unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reference/entities/{lei}/childrennavigateEntityChildren
API key or signed-in session
Standalone GLEIF research; no retained SEC issuer required. Requires intelligence:read, billing access and source admission. History/compare enforce current reference-history access before and after retrieval. Twenty explorer requests/minute per organization share the GLEIF provider quota of 30/minute and five-minute cache. Lists return twenty rows per page, up to 100 pages. Candidates are not confirmed SEC matches; accounting relationships are not complete ownership. Current provider events differ from retained observations. Missing fields remain unavailable.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
lei | path | Yes | string · pattern: "^[A-Z0-9]{18}[0-9]{2}$" | |
kind | query | No | default: "direct"; one of: "direct", "ultimate" | |
page | query | No | integer · minimum: 1; maximum: 100 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reference/entities/YOUR_LEI/children' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Source-linked results; inspect status, gaps and coverage.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ExplorerChildrenResponse"
}HTTP 400
Invalid query
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Authentication required or revoked
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Billing access required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Scope or history access denied
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Snapshot unavailable for LEI and account history
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Response limit exceeded
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
Rate limit exceeded
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Source or evidence unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reference/entities/{lei}/timelineentityReportedTimeline
API key or signed-in session
Standalone GLEIF research; no retained SEC issuer required. Requires intelligence:read, billing access and source admission. History/compare enforce current reference-history access before and after retrieval. Twenty explorer requests/minute per organization share the GLEIF provider quota of 30/minute and five-minute cache. Lists return twenty rows per page, up to 100 pages. Candidates are not confirmed SEC matches; accounting relationships are not complete ownership. Current provider events differ from retained observations. Missing fields remain unavailable.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
lei | path | Yes | string · pattern: "^[A-Z0-9]{18}[0-9]{2}$" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reference/entities/YOUR_LEI/timeline' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Source-linked results; inspect status, gaps and coverage.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ExplorerTimelineResponse"
}HTTP 400
Invalid query
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Authentication required or revoked
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Billing access required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Scope or history access denied
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Snapshot unavailable for LEI and account history
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Response limit exceeded
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
Rate limit exceeded
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Source or evidence unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reference/entities/{lei}/historyentityObservedHistory
API key or signed-in session
Standalone GLEIF research; no retained SEC issuer required. Requires intelligence:read, billing access and source admission. History/compare enforce current reference-history access before and after retrieval. Twenty explorer requests/minute per organization share the GLEIF provider quota of 30/minute and five-minute cache. Lists return twenty rows per page, up to 100 pages. Candidates are not confirmed SEC matches; accounting relationships are not complete ownership. Current provider events differ from retained observations. Missing fields remain unavailable.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
lei | path | Yes | string · pattern: "^[A-Z0-9]{18}[0-9]{2}$" | |
page | query | No | integer · minimum: 1; maximum: 100 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reference/entities/YOUR_LEI/history' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Source-linked results; inspect status, gaps and coverage.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ExplorerHistoryResponse"
}HTTP 400
Invalid query
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Authentication required or revoked
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Billing access required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Scope or history access denied
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Snapshot unavailable for LEI and account history
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Response limit exceeded
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
Rate limit exceeded
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Source or evidence unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reference/entities/{lei}/comparecompareEntityObservations
API key or signed-in session
Standalone GLEIF research; no retained SEC issuer required. Requires intelligence:read, billing access and source admission. History/compare enforce current reference-history access before and after retrieval. Twenty explorer requests/minute per organization share the GLEIF provider quota of 30/minute and five-minute cache. Lists return twenty rows per page, up to 100 pages. Candidates are not confirmed SEC matches; accounting relationships are not complete ownership. Current provider events differ from retained observations. Missing fields remain unavailable.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
lei | path | Yes | string · pattern: "^[A-Z0-9]{18}[0-9]{2}$" | |
from | query | Yes | string · pattern: "^[a-f0-9]{64}$" | |
to | query | No | default: "current" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reference/entities/YOUR_LEI/compare' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
--data-urlencode 'from=YOUR_FROM'Responses
HTTP 200
Source-linked results; inspect status, gaps and coverage.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ExplorerComparisonResponse"
}HTTP 400
Invalid query
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Authentication required or revoked
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Billing access required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Scope or history access denied
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Snapshot unavailable for LEI and account history
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Response limit exceeded
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
Rate limit exceeded
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Source or evidence unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}Filings (15)
GET /companiesList companies available to the public explorer
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
limit | query | No | integer · minimum: 1; maximum: 100; default: 20 | Page size. Larger pages consume more query cost. |
cursor | query | No | string · minLength: 1; maxLength: 1000 | Opaque nextCursor returned by the same endpoint with the same filters. |
ticker | query | No | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
cik | query | No | string · pattern: "^\\d{1,10}$" | One to ten digits; the API left-pads it to ten digits. |
form | query | No | string · one of: "10-Q", "10-Q/A", "10-K", "10-K/A", "8-K", "8-K/A", "20-F", "20-F/A", "6-K", "6-K/A", "S-1", "S-1/A", "S-3", "S-3/A", "S-4", "S-4/A", "424B1", "424B2", "424B3", "424B4", "424B5", "424B7", "424B8", "DEF 14A", "DEFA14A", "3", "3/A", "4", "4/A", "5", "5/A", "SC 13D", "SC 13D/A", "SC 13G", "SC 13G/A", "SCHEDULE 13D", "SCHEDULE 13D/A", "SCHEDULE 13G", "SCHEDULE 13G/A", "13F-HR", "13F-HR/A", "13F-NT", "13F-NT/A", "SC TO-C", "SC TO-C/A", "SC TO-I", "SC TO-I/A", "SC TO-T", "SC TO-T/A", "SC 14D9", "SC 14D9/A", "SC 13E3", "SC 13E3/A", "PREM14A", "PRER14A", "DEFM14A", "DEFM14A/A", "425" | |
verification | query | No | string · one of: "unverified", "candidate", "machine_checked", "verified", "illustrative" | |
filed_from | query | No | string · format: "date" | |
filed_to | query | No | string · format: "date" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/companies'Responses
HTTP 200
Live filing summaries, or clearly labeled illustrative workflow records when the store is empty
Content type: application/json
Response schema
{
"$ref": "#/components/schemas/CompanyListResponse"
}HTTP 304
Representation matches If-None-Match; response has no body
Response headers: ETag, X-API-Version.
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /companies/{ticker}Get one company and its disclosure events
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
ticker | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/companies/YOUR_TICKER'Responses
HTTP 200
Company explorer record
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/CompanyDetailResponse"
}HTTP 304
Representation matches If-None-Match; response has no body
Response headers: ETag, X-API-Version.
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /issuersList issuers represented in structured storage
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
limit | query | No | integer · minimum: 1; maximum: 100; default: 20 | Page size. Larger pages consume more query cost. |
cursor | query | No | string · minLength: 1; maxLength: 1000 | Opaque nextCursor returned by the same endpoint with the same filters. |
ticker | query | No | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
cik | query | No | string · pattern: "^\\d{1,10}$" | One to ten digits; the API left-pads it to ten digits. |
form | query | No | string · one of: "10-Q", "10-Q/A", "10-K", "10-K/A", "8-K", "8-K/A", "20-F", "20-F/A", "6-K", "6-K/A", "S-1", "S-1/A", "S-3", "S-3/A", "S-4", "S-4/A", "424B1", "424B2", "424B3", "424B4", "424B5", "424B7", "424B8", "DEF 14A", "DEFA14A", "3", "3/A", "4", "4/A", "5", "5/A", "SC 13D", "SC 13D/A", "SC 13G", "SC 13G/A", "SCHEDULE 13D", "SCHEDULE 13D/A", "SCHEDULE 13G", "SCHEDULE 13G/A", "13F-HR", "13F-HR/A", "13F-NT", "13F-NT/A", "SC TO-C", "SC TO-C/A", "SC TO-I", "SC TO-I/A", "SC TO-T", "SC TO-T/A", "SC 14D9", "SC 14D9/A", "SC 13E3", "SC 13E3/A", "PREM14A", "PRER14A", "DEFM14A", "DEFM14A/A", "425" | |
verification | query | No | string · one of: "unverified", "candidate", "machine_checked", "verified", "illustrative" | |
filed_from | query | No | string · format: "date" | |
filed_to | query | No | string · format: "date" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/issuers'Responses
HTTP 200
Paginated issuer resources
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | array | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/IssuerListResponse"
}HTTP 304
Representation matches If-None-Match; response has no body
Response headers: ETag, X-API-Version.
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /filingsList ingested structured filings
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
limit | query | No | integer · minimum: 1; maximum: 100; default: 20 | Page size. Larger pages consume more query cost. |
cursor | query | No | string · minLength: 1; maxLength: 1000 | Opaque nextCursor returned by the same endpoint with the same filters. |
ticker | query | No | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
cik | query | No | string · pattern: "^\\d{1,10}$" | One to ten digits; the API left-pads it to ten digits. |
form | query | No | string · one of: "10-Q", "10-Q/A", "10-K", "10-K/A", "8-K", "8-K/A", "20-F", "20-F/A", "6-K", "6-K/A", "S-1", "S-1/A", "S-3", "S-3/A", "S-4", "S-4/A", "424B1", "424B2", "424B3", "424B4", "424B5", "424B7", "424B8", "DEF 14A", "DEFA14A", "3", "3/A", "4", "4/A", "5", "5/A", "SC 13D", "SC 13D/A", "SC 13G", "SC 13G/A", "SCHEDULE 13D", "SCHEDULE 13D/A", "SCHEDULE 13G", "SCHEDULE 13G/A", "13F-HR", "13F-HR/A", "13F-NT", "13F-NT/A", "SC TO-C", "SC TO-C/A", "SC TO-I", "SC TO-I/A", "SC TO-T", "SC TO-T/A", "SC 14D9", "SC 14D9/A", "SC 13E3", "SC 13E3/A", "PREM14A", "PRER14A", "DEFM14A", "DEFM14A/A", "425" | |
verification | query | No | string · one of: "unverified", "candidate", "machine_checked", "verified", "illustrative" | |
filed_from | query | No | string · format: "date" | |
filed_to | query | No | string · format: "date" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/filings'Responses
HTTP 200
Filing metadata, extraction counts, hashes, and verification state
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | array | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/FilingListResponse"
}HTTP 304
Representation matches If-None-Match; response has no body
Response headers: ETag, X-API-Version.
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /filing-calendarInspect one issuer's indexed filing dates for a month and export iCalendar
No API key required; supplied credentials can add restrictions
Deployed with bounded API/frontend and authorization acceptance. Metadata only, not deadlines, earnings forecasts or complete SEC history. Anonymous public metadata access; supplied valid credentials require filings:read, billing, selected-issuer access and valid indexed-history grants. All plans include available indexed history with no plan-based age cutoff. Required month and ticker, optional exact form and limit. No cursor or other filters; repeats are rejected. Bounded metadata query with one lookahead; entries sorted filedAt and accession descending. Always no-store; shares global limits and a 60-request/five-minute organization/client action limit. iCalendar text is exactly this response's entries, with source links, date-only transparent events, stable accession UIDs, no alarms or subscriptions.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
month | query | Yes | string · pattern: "^\\d{4}-(0[1-9]|1[0-2])$" | Calendar month, year 1900 through 9998; indexed coverage and per-request limits apply |
ticker | query | Yes | string · pattern: "^[A-Za-z0-9][A-Za-z0-9.-]{0,14}$" | Normalized to uppercase, 1–15 characters beginning with a letter or digit |
form | query | No | string · maxLength: 32; pattern: "^[A-Za-z0-9][A-Za-z0-9 /-]{0,31}$" | Optional exact metadata filter normalized to uppercase; does not establish extraction support |
limit | query | No | integer · minimum: 1; maximum: 100; default: 100 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/filing-calendar' \
--data-urlencode 'month=YOUR_MONTH' \
--data-urlencode 'ticker=YOUR_TICKER'Responses
HTTP 200
Bounded indexed filing calendar with explicit unknown external coverage
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
meta | Yes | object | |
data | Yes | object |
Response schema
{
"$ref": "#/components/schemas/FilingCalendarResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Duplicate accession or competing issuer identities; no partial calendar is returned
HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Invalid or mismatched selected source metadata; no synthetic event is returned
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Bounded storage selector unavailable; no full-catalog fallback
GET /reporting-timingReview retained reporting-period-to-filing calendar-day intervals
No API key required; supplied credentials can add restrictions
Deployed with real date-arithmetic, truncation/history-refusal, automated date-edge and live stale-query/credential-change acceptance. Requires one issuer, one exact annual/quarterly form or amendment, and an inclusive filing-date window of at most 3660 calendar days, ordered and not future-dated. Selects at most limit plus one metadata row, with the exact form filter applied before LIMIT. All inspected rows, including the lookahead, are validated. Returns at most 100 entries ordered filedAt/accession descending. PostgreSQL uses a bounded metadata projection; the filesystem adapter still loads its catalog before filtering. Calendar days are date-only UTC filedAt minus retained periodEnd; null/empty, invalid and after-filing periods produce null intervals with explicit reasons. Safe raw period strings are preserved, not repaired or replaced from XBRL or inferred fiscal periods. Amendment intervals run to the amendment date, without matching an original filing. Same-period counts describe returned valid recorded periods only. Evidence text is labelled indexed metadata, not a filing quotation. Verification and illustrative labels remain unchanged; complete SEC coverage is unknown. No deadlines, lateness, compliance, severity, rankings, investment findings or fiscal-comparability claims. Existing anonymous metadata access applies; supplied credentials require filings:read, billing, exact issuer and the whole requested history window, without anonymous fallback. No GET body, unknown/repeated/array parameters or cursor. No-store, global size limits and a separate 60-request/five-minute organization-or-client/IP action bucket. No new provider, feed, migration, enrichment or server snapshot.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | query | Yes | string · pattern: "^[A-Za-z0-9][A-Za-z0-9.-]{0,14}$" | Trimmed and normalized to uppercase; one exact issuer ticker |
form | query | Yes | string · one of: "10-K", "10-K/A", "10-Q", "10-Q/A", "20-F", "20-F/A" | Trimmed and normalized to uppercase; original forms and amendments are separate exact filters |
filedFrom | query | Yes | string · format: "date"; pattern: "^\\d{4}-\\d{2}-\\d{2}$" | Inclusive date, year 1900–9998; no later than filedTo and fully within supplied-credential history access |
filedTo | query | Yes | string · format: "date"; pattern: "^\\d{4}-\\d{2}-\\d{2}$" | Inclusive date, year 1900–9998; no later than today, at most 3660 inclusive days after/including filedFrom |
limit | query | No | integer · minimum: 1; maximum: 100; default: 100 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reporting-timing' \
--data-urlencode 'ticker=YOUR_TICKER' \
--data-urlencode 'form=YOUR_FORM' \
--data-urlencode 'filedFrom=YOUR_FILEDFROM' \
--data-urlencode 'filedTo=YOUR_FILEDTO'Responses
HTTP 200
Bounded metadata-derived interval review with source-linked entries, explicit unavailable dates and unknown coverage
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
meta | Yes | object | |
data | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ReportingTimingResponse"
}HTTP 400
Invalid query
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Invalid history/issuer grant
HTTP 409
Duplicate accession or competing issuer CIKs; no preferred filing or partial review is selected
HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Unsafe
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Required bounded storage selector or valid review clock unavailable
GET /filings/{accession}Get a complete structured filing without raw SEC HTML
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
accession | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/filings/YOUR_ACCESSION'Responses
HTTP 200
Sections, tables, facts, signals, refusals, processing versions, and provenance
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/StructuredFilingResponse"
}HTTP 304
Representation matches If-None-Match; response has no body
Response headers: ETag, X-API-Version.
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reader/filings/{accession}Read a page of source-backed passages, exhibits, and related filings
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
offset | query | No | integer · minimum: 0; maximum: 1000000; default: 0 | |
limit | query | No | integer · minimum: 1; maximum: 100; default: 100 | |
passage | query | No | string | Open this exact retained passage |
revision | query | No | string | Revision returned by the preceding page |
accession | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reader/filings/YOUR_ACCESSION'Responses
HTTP 200
Evidence-anchored filing reader
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ReaderDocumentResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reader/filings/{accession}/source-inventoryInspect retained primary and exhibit metadata with an unknown-coverage receipt
No API key required; supplied credentials can add restrictions
Deployed with populated public receipt, exact browser-download, direct-view and changed-session acceptance. Reads one structured filing, with primary metadata and the first 50 retained exhibit entries inspected. Counts are retained array lengths, not validated passages or extraction success. Missing/invalid collections remain null. Recorded duplicate status does not mean unfetched; local extraction and duplicate-pointer presence are separate observations. Internal duplicate IDs are withheld. Exhibit verification is independent of filing-level verification. Rights-filtered exclusions already applied by storage cannot be counted; additional restricted or unclassifiable rights entries in the bounded window are excluded. Unsafe exhibit URLs become null with explicit issues. Expected SEC document count and source completeness remain unknown. No raw-document fetch/archive, market-wide filing-catalog scan or writes. No query parameters or request body. Public reader policy; supplied credentials require reader:read, billing and current issuer/history access. Always no-store; dedicated 60-request/five-minute action limit per organization or anonymous client, plus the global response-size limit.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
accession | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reader/filings/YOUR_ACCESSION/source-inventory'Responses
HTTP 200
Bounded metadata receipt with explicit unknowns and recorded—not reverified—hashes
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
meta | Yes | object | |
data | Yes | object |
Response schema
{
"$ref": "#/components/schemas/SourceInventoryResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Top-level filing identity
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /reader/source-inventory-comparisonCompare retained exhibit metadata by exact recorded filename
No API key required; supplied credentials can add restrictions
Deployed with populated WOLF one-sided groups, exact receipts and stale/access refusals; paired, repeated and unkeyed cases use automated fixtures because the sampled real filings had no equal filenames. Select two distinct same-CIK filing inventories using their complete receipt hashes. Filing dates must be valid and nonfuture, with before filedAt no later than after filedAt. Changed receipts return 409. Only exact case-sensitive safe recorded basenames form groups; unique one-per-side names pair, duplicates on either side remain ambiguous and unusable names remain separate unkeyed entries. Primary documents are retained in both full source receipts but not compared. At most 50 retained exhibit positions per source are inspected, with rights exclusions preserved and at most 100 groups. Metadata changes compare only the fixed field set; original documents are not fetched and recorded hashes are not recomputed. One-sided entries are not SEC omissions or terminations, filename equality is not agreement identity, and hash changes are not legal change findings. Verification and illustrative states remain unchanged; source completeness is unknown and missing metadata remains null. Existing anonymous reader policy applies. Supplied credentials require reader:read, billing and issuer and indexed-history access for both sources, without anonymous fallback. No query parameters. No-store, global size limits and a separate 60-request/five-minute organization-or-client/IP action bucket. Reads two existing structured records; no market filing-catalog scan, new feed, provider activation, migration, raw archive or server snapshot.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
SourceInventoryComparisonRequest
| Field | Required | Type / constraints | Description |
|---|---|---|---|
before | Yes | object | |
after | Yes | object |
Request schema
{
"$ref": "#/components/schemas/SourceInventoryComparisonRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/reader/source-inventory-comparison' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Deterministic retained-exhibit groups with both full inventory receipts and unknown coverage
Content type: application/json
SourceInventoryComparisonResponse
| Field | Required | Type / constraints | Description |
|---|---|---|---|
meta | Yes | object | |
data | Yes | object |
Response schema
{
"$ref": "#/components/schemas/SourceInventoryComparisonResponse"
}HTTP 400
Invalid body/selectors
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
A complete inventory receipt hash changed; reload the sources before comparing again
HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Unsafe or inconsistent filing identity
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reader/filings/{accession}/tablesList bounded primary tables for explicit cell-level inspection
No API key required; supplied credentials can add restrictions
Deployed with bounded real-table, hash and spreadsheet-import acceptance. Lists at most 50 retained primary tables, source-bound selection IDs, dimensions, eligibility and unknown upstream completeness. No query parameters. Anonymous reader policy; supplied credentials require reader:read, billing, current issuer and canonical filing-date/history access. One filing lookup; no catalog scan. Always no-store, global response-size limit, and shared 60-request/five-minute table catalog/detail/arithmetic action limit per organization or anonymous client. Cells are not included until explicit selection.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
accession | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reader/filings/YOUR_ACCESSION/tables'Responses
HTTP 200
Primary retained-table catalog, not proof of complete source extraction
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
meta | Yes | object | |
data | Yes | object |
Response schema
{
"$ref": "#/components/schemas/FilingTableCatalogResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Unsafe or inconsistent filing source provenance
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reader/filings/{accession}/tables/{tableId}Inspect and export one explicitly selected retained primary table
No API key required; supplied credentials can add restrictions
Deployed with bounded real-table, hash and spreadsheet-import acceptance. Select a current catalog tableId; changes to content or source/parser/verification metadata produce 409, not a replacement selection. Bounds are 200 rows, 50 cells per row, 100000 UTF16 code units across cells and context, and 2000 context characters. Oversized or invalid tables are refused, not sliced. Retains exact stored strings and ragged arrays, not original HTML whitespace, merged cells or inferred financial headers/units. JSON is authoritative; CSV repeats source identity and row_cell_count, pads ragged rows and applies disclosed apostrophe formula protection. Import as text; no universal safety guarantee across spreadsheet clients or re-saving. No query parameters; same reader authorization and action limits as the table catalog. Always no-store; writes no filing or server snapshot.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
tableId | path | Yes | string · pattern: "^table-[a-f0-9]{64}$" | |
accession | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reader/filings/YOUR_ACCESSION/tables/YOUR_TABLEID'Responses
HTTP 200
Exact retained cells, source context, export policy, CSV and checksums
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
meta | Yes | object | |
data | Yes | object |
Response schema
{
"$ref": "#/components/schemas/FilingTableReviewResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Table selection changed or is unavailable; reload catalog and select again
HTTP 413
Table or response exceeds its explicit bound
HTTP 422
Invalid cells
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /reader/filings/{accession}/tables/{tableId}/arithmeticCheck an explicitly selected total against same-column component cells
No API key required; supplied credentials can add restrictions
Deployed with real retained-integer, unavailable-operand and automated exact-decimal acceptance. Read-only exact decimal arithmetic on retained table strings; no manual numeric overrides. One total and 1–20 distinct components must use the same column. The declared dot-decimal/comma-grouping convention permits an ASCII sign or negative parentheses. Blank, missing, ambiguous, currency/percent or footnoted values are unavailable, never zero. Maximum 40 integer digits, 12 fractional digits and 80 retained characters per interpreted cell. Unit and period are recorded as explicit analyst attestations. Equal/different only describes the selected arithmetic without a rounding tolerance, accounting correctness or verification upgrade. Reuses source-bound table IDs, reader access and table bounds; changed sources return 409. Inspects the selected filing's bounded table inventory, with no query parameters, market-wide filing-catalog scan, SEC fetch or persistence. No-store and shared 60-request/five-minute table action limit.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
tableId | path | Yes | string · pattern: "^table-[a-f0-9]{64}$" | |
accession | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
total | Yes | object | |
components | Yes | array · minItems: 1; maxItems: 20 | Same column as total; distinct coordinates excluding the total |
declaration | Yes | object |
Request schema
{
"$ref": "#/components/schemas/TableArithmeticRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/reader/filings/YOUR_ACCESSION/tables/YOUR_TABLEID/arithmetic' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Source-bound arithmetic receipt, including unavailable-operand results
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
meta | Yes | object | |
data | Yes | object |
Response schema
{
"$ref": "#/components/schemas/TableArithmeticResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Source-bound table selection changed; reload and select again
HTTP 413
Selected source table or response exceeds its bound
HTTP 422
Source cells
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /reader/table-cell-comparisonCompare explicit cell pairs from two source-bound retained primary tables
No API key required; supplied credentials can add restrictions
Deployed with a populated public comparison and automated pair/hash/access/numeric edge-case acceptance. Requires two distinct filings with the same known canonical CIK, valid nonfuture filing dates, and before filedAt no later than after filedAt. Each selection binds accession, tableId and full retained-table-review contentSha256. Changed sources return 409. Select 1–20 cell pairs; before and after coordinates must each be unique independently. Required unit/scale, period labels, numeric convention and sameBasisConfirmed records an explicit analyst attestation. There is no automatic label matching or manual numeric override. Numeric difference is exact after minus before with no rounding, percentage change, FX conversion, restatement finding or verification promotion. Missing or unsupported operands remain unavailable, never zero; other valid pairs still calculate. Source completeness remains unknown. Anonymous requests follow existing reader policy; supplied credentials require reader:read, billing and issuer and indexed-history access for both sources, without anonymous fallback. No query parameters. No-store, global response limits, and 60 operations per organization or anonymous client per five minutes. Reads two stored structured filings; no market-catalog scan, SEC fetch, exhibit inspection, provider feed, migration or persistence is introduced.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
before | Yes | object | |
after | Yes | object | |
pairs | Yes | array · minItems: 1; maxItems: 20 | Each before coordinate and each after coordinate may appear only once independently; cross-side columns may differ |
declaration | Yes | object |
Request schema
{
"$ref": "#/components/schemas/TableCellComparisonRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/reader/table-cell-comparison' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Exact pairwise comparison with both-source receipts and explicit unavailable operands
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
meta | Yes | object | |
data | Yes | object |
Response schema
{
"$ref": "#/components/schemas/TableCellComparisonResponse"
}HTTP 400
Invalid selectors/declarations
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
A selected source-bound table ID or complete review hash changed; reload both sources and select again
HTTP 413
Selected source table or response exceeds the established bound
HTTP 422
Source provenance
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reader/filings/{accession}/sectionsList bounded primary-document sections for explicit comparison
No API key required; supplied credentials can add restrictions
Deployed with public retained-section hash, stale-selection, fallback, access, whitespace and limit acceptance. Returns at most 80 retained primary sections, content-bound IDs, source metadata, eligibility and extraction coverage. Does not include exhibits or fetch SEC documents. Missing inventory counts remain null; source completeness is always unknown. Public anonymous reads follow the existing reader policy. Supplied credentials must authenticate and have reader:read, billing, current issuer and history access. No query filters. Always no-store. Shares 60 requests per five minutes with selected-section comparisons per organization or anonymous client.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
accession | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reader/filings/YOUR_ACCESSION/sections'Responses
HTTP 200
Bounded extracted-section catalog
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
meta | Yes | object | |
data | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ReaderSectionCatalogResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Authenticated billing access required
HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Filing source metadata cannot establish a valid SEC evidence boundary
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}Intake (2)
POST /leadsStore a design-partner early-access request
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
name | Yes | string · minLength: 1; maxLength: 120 | |
email | Yes | string · format: "email"; maxLength: 254 | |
company | Yes | string · minLength: 1; maxLength: 200 | |
workflow | Yes | string · one of: "Credit or covenant monitoring", "Investment research", "Financial data product", "AI or agent development", "Other" | |
coverage | No | string · maxLength: 2000 | |
pilot | Yes | string · one of: "Ready for a paid pilot", "Open to a paid pilot after validation", "Researching for later" | |
website | No | string · maxLength: 200 | Honeypot; human users leave blank. |
turnstileToken | Yes | string · minLength: 1; maxLength: 2048 | Single-use Cloudflare Turnstile token for action lead. |
Request schema
{
"$ref": "#/components/schemas/LeadRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/leads' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 201
Request stored
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/LeadResponse"
}HTTP 202
Honeypot request accepted without storage
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/AcceptedResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /analytics/eventsStore an allowlisted cookie-free first-party website event
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
event | Yes | string · one of: "page_view", "explorer_loaded", "explorer_fallback", "design_partner_form_started", "design_partner_form_submitted", "design_partner_form_failed" | |
path | Yes | string · maxLength: 500; pattern: "^/" | |
properties | No | object |
Request schema
{
"$ref": "#/components/schemas/AnalyticsEventRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/analytics/events' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 202
Event stored
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/AcceptedResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}Integrations (18)
GET /feeds/{token}/{format}Read a revocable RSS or Atom monitoring feed
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
token | path | Yes | string | |
format | path | Yes | string · one of: "rss", "atom" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/feeds/YOUR_TOKEN/YOUR_FORMAT'Responses
HTTP 200
Private evidence-linked monitoring feed
HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/integrationsList feeds, channels, destinations, export jobs, dashboards, caps, and provider readiness without returning secrets
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Integration overview
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/integrations/feedRevoke the prior feed token and display a replacement once
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
One-time feed token and RSS and Atom paths
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/integrations/feedRevoke the active private feed token
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Feed revoked
POST /account/integrations/channelsStore an encrypted provider-bound Slack or Teams webhook
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
kind | Yes | string · one of: "slack", "teams" | |
displayName | Yes | string · minLength: 1; maxLength: 120 | |
url | Yes | string · format: "uri" | Customer-owned provider webhook URL. Treat it as a secret; only supported provider hosts are accepted. |
Request schema
{
"$ref": "#/components/schemas/IntegrationChannelRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Channel created and URL never returned
HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/integrations/channels/{id}Remove a collaboration delivery channel
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Channel removed
HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/integrations/channels/{id}/testSend a bounded test alert to a configured channel
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Test delivered
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/integrations/destinationsConfigure customer S3 or Google Sheets delivery
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
Request schema
{
"$ref": "#/components/schemas/IntegrationDestinationRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
S3 or Google Sheets destination created; S3 external ID displayed once
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/integrations/destinations/{id}Remove an export destination
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Destination removed
HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/integrations/exportsQueue a bounded monitoring export to a configured destination
Signed-in website session · API keys are not accepted
Required scopes: exports:read. Account, role and source checks still apply.
Exports up to 1,000 recent monitoring-delivery records to an active authorized destination. This is not an arbitrary filing or model export. Inspect exportJobs in GET /account/integrations for completion, manifest or error.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
destinationId | Yes | string · format: "uuid" |
Request schema
{
"type": "object",
"required": [
"destinationId"
],
"properties": {
"destinationId": {
"type": "string",
"format": "uuid"
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 202
Export queued
HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/integrations/dashboardsCreate a personal or shared dashboard with bounded calculated fields
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
displayName | Yes | string · minLength: 1; maxLength: 120 | |
visibility | No | string · default: "team"; one of: "personal", "team" | |
widgets | No | array · minItems: 0; maxItems: 20 | |
calculatedFields | No | array · minItems: 0; maxItems: 20 |
Request schema
{
"$ref": "#/components/schemas/IntegrationDashboardRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Dashboard created
HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/integrations/dashboards/{id}Remove a dashboard created by the current user
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Dashboard removed
HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/integrations/calculated-fields/previewEvaluate bounded arithmetic; missing inputs and division by zero return null
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
expression | Yes | string | |
values | No | object |
Request schema
{
"type": "object",
"required": [
"expression"
],
"properties": {
"expression": {
"type": "string"
},
"values": {
"type": "object",
"additionalProperties": {
"type": [
"number",
"null"
]
}
}
}
}Request example:
{
"expression": "cash / debt",
"values": {
"cash": 100,
"debt": 200
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Nullable numeric preview
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/mobile/alertsList recent organization alerts with user-specific triage state
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Mobile alert queue
PATCH /account/mobile/alerts/{id}Acknowledge or dismiss one organization alert for the current user
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
status | Yes | string · one of: "acknowledged", "dismissed" | |
note | No | string · maxLength: 1000 |
Request schema
{
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"type": "string",
"enum": [
"acknowledged",
"dismissed"
]
},
"note": {
"type": "string",
"maxLength": 1000
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Triage state updated
HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/enterprise-identityReturn demand-gated OIDC and SCIM activation state
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Enterprise identity readiness with no unapproved connector activated
GET /account/enterprise-controlsReturn the organization enterprise-demand receipt and truthful per-control readiness
Signed-in website session · API keys are not accepted
Controlled pilots remain available without enterprise procurement. Browser owner or admin session required; no secret identity metadata or assessment report is returned.
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Enterprise demand
POST /account/enterprise-controls/requestsAppend a bounded organization enterprise-demand receipt without activating any control
Signed-in website session · API keys are not accepted
Records requested OIDC SSO, SCIM, independent penetration test, SOC 2 path, contractual support, or SLA needs. This endpoint does not create a contract, certification, assessment, or service commitment.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
requestedControls | Yes | array · minItems: 1; maxItems: 6 | |
identityProvider | No | string · one of: "okta", "microsoft_entra_id", "google_workspace", "ping_identity", "other", "unspecified" | |
estimatedSeats | No | string · one of: "1_25", "26_100", "101_500", "500_plus", "unspecified" | |
targetQuarter | No | string | null · pattern: "^20[0-9]{2}-Q[1-4]$" | |
supportWindow | No | string · one of: "business_hours", "extended_hours", "24x7", "unspecified" | |
note | No | string · maxLength: 1000 |
Request schema
{
"type": "object",
"required": [
"requestedControls"
],
"properties": {
"requestedControls": {
"type": "array",
"minItems": 1,
"maxItems": 6,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"oidc_sso",
"scim",
"independent_penetration_test",
"soc2",
"contractual_support",
"sla"
]
}
},
"identityProvider": {
"type": "string",
"enum": [
"okta",
"microsoft_entra_id",
"google_workspace",
"ping_identity",
"other",
"unspecified"
]
},
"estimatedSeats": {
"type": "string",
"enum": [
"1_25",
"26_100",
"101_500",
"500_plus",
"unspecified"
]
},
"targetQuarter": {
"type": [
"string",
"null"
],
"pattern": "^20[0-9]{2}-Q[1-4]$"
},
"supportWindow": {
"type": "string",
"enum": [
"business_hours",
"extended_hours",
"24x7",
"unspecified"
]
},
"note": {
"type": "string",
"maxLength": 1000
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Append-only demand receipt created; no enterprise control activated
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}Intelligence (46)
GET /coverage/statusGet aggregate production SEC polling, ingestion, corpus completion, and rolling latency status
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/coverage/status'Responses
HTTP 200
Customer-safe aggregate coverage, queue, financing-corpus completion, freshness, delay, and rolling p50/p95 SEC latency telemetry
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/PublicCoverageStatusResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /coverage/marketGet supported-form SEC coverage, freshness, extraction success, and known gaps
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
form | query | No | string · one of: "10-Q", "10-Q/A", "10-K", "10-K/A", "8-K", "8-K/A", "20-F", "20-F/A", "6-K", "6-K/A", "S-1", "S-1/A", "S-3", "S-3/A", "S-4", "S-4/A", "424B1", "424B2", "424B3", "424B4", "424B5", "424B7", "424B8", "DEF 14A", "DEFA14A", "3", "3/A", "4", "4/A", "5", "5/A", "SC 13D", "SC 13D/A", "SC 13G", "SC 13G/A", "SCHEDULE 13D", "SCHEDULE 13D/A", "SCHEDULE 13G", "SCHEDULE 13G/A", "13F-HR", "13F-HR/A", "13F-NT", "13F-NT/A", "SC TO-C", "SC TO-C/A", "SC TO-I", "SC TO-I/A", "SC TO-T", "SC TO-T/A", "SC 14D9", "SC 14D9/A", "SC 13E3", "SC 13E3/A", "PREM14A", "PRER14A", "DEFM14A", "DEFM14A/A", "425" | |
cik | query | No | string · pattern: "^[0-9]{1,10}$" | |
cursor | query | No | string · pattern: "^[0-9]{10}$" | |
limit | query | No | integer · minimum: 1; maximum: 100; default: 100 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/coverage/market'Responses
HTTP 200
Per-form and bounded per-issuer coverage with stream, reconciliation, backfill, freshness, and explicit-gap telemetry
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/MarketCoverageResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /coverageGet authenticated company-set coverage and freshness telemetry
API key or signed-in session
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/coverage' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Account-scoped configured and indexed coverage
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/CoverageResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /intelligence/vocabularyList supported deep-financing concepts and bounds
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/intelligence/vocabulary'Responses
HTTP 200
Financing intelligence vocabulary
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /intelligence/issuers/{ticker}/financing-conditionsInspect SEC financing-event candidates beside rights-gated overnight benchmarks
API key or signed-in session
Deployed with bounded authenticated New York Fed production acceptance. Authentication, intelligence:read, billing access, and issuer and indexed-history access are required. Supply both dates or neither; the default is 90 inclusive calendar days ending today (UTC). The maximum is 366 inclusive days, starting no earlier than 1900-01-01 and ending no later than today. Only these query parameters are accepted; request bodies are rejected. SEC selection is clamped to the entitled history start before reading 40 filings plus one lookahead; benchmark dates retain the requested window. At most 200 extracted event candidates are returned. New York Fed fetching is disabled without an active approved server-side rights record; a 200 response can contain rights_review_required or unavailable benchmarks. Only dates are sent upstream. Benchmarks reflect latest revisions, not historical vintages or issuer borrowing costs. No transaction date, refinancing attribution, or compliance conclusion is inferred. See docs/integrations/FINANCING_CONDITIONS.md for rights and owner-controlled release gates.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
startDate | query | No | string · format: "date" | Inclusive start; requires endDate |
endDate | query | No | string · format: "date" | Inclusive end; requires startDate |
ticker | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/intelligence/issuers/YOUR_TICKER/financing-conditions' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Bounded SEC coverage receipt and separately gated SOFR/EFFR context; missing data remains null
Response headers: Cache-Control.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/FinancingConditionsResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Account lacks billing access
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
financing_context_source_invalid; stored sources cannot be safely scoped to the issuer and date range
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
financing_context_unavailable; required storage interface is unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /intelligence/issuers/{ticker}/financing-environmentReview SEC financing context beside independently sourced government market and survey data
API key or signed-in session
Deployed with bounded authenticated production acceptance. Requires intelligence:read, billing, issuer and full requested-history access. Supply both dates or neither; the default is the trailing 90 UTC days and the inclusive window cannot exceed 366 days or end in the future. Reads at most 40 eligible filings plus one lookahead and returns at most 200 SEC event candidates. With stored-history expansion enabled, seven source groups cover Treasury nominal and real curves, bill rates, auctions, SLOOS, OFR repo, and New York Fed SOFR averages/Index. Source groups retain independent states, receipts, dates and gaps. Nominal curves have 14 maturities; SLOOS has 33 selected series. The SOFR Index uses index units. Stored auctions return at most 200 records with explicit truncation; narrow the requested dates for remaining records. Official PDF links are provided; PDF bodies are not archived. Latest revisions are not vintage data, and no issuer borrowing quote, forecast, rating, causal relationship or recommendation is inferred.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
startDate | query | No | string · format: "date" | Inclusive start; requires endDate |
endDate | query | No | string · format: "date" | Inclusive end; requires startDate |
ticker | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/intelligence/issuers/YOUR_TICKER/financing-environment' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
filingsift-financing-environment-v1 with request, issuer, bounded filingContext, seven independently sourced source envelopes when expansion is enabled (four otherwise), generatedAt and limitations
Response headers: Cache-Control.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /intelligence/issuers/{ticker}/financingGet the source-linked issuer financing ledger
No API key required; supplied credentials can add restrictions
Returns debt instruments, facilities, covenants, financing events, maturity schedules and roll-forwards, rate terms, security-package and going-concern history, a multi-period timeline, and candidate contradiction or stale-value warnings. Missing data remains null and no severity or investment conclusion is assigned.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Z0-9.-]{1,16}$" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/intelligence/issuers/YOUR_TICKER/financing'Responses
HTTP 200
Bounded evidence-backed financing ledger
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /intelligence/issuers/{ticker}/debt-instrumentsGet the bounded source-linked debt-instrument inventory
No API key required; supplied credentials can add restrictions
Returns current and prior observed balances, safely calculated changes, last-reported maturities, observation history, explicit unavailable fields, and separately labeled issuer-level rate, security, and lifecycle context. Issuer-level observations are never inferred to belong to a specific instrument.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Z0-9.-]{1,16}$" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/intelligence/issuers/YOUR_TICKER/debt-instruments'Responses
HTTP 200
Debt Instrument Inventory v1 with exact SEC evidence
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /intelligence/issuers/{ticker}/debt-lifecycleGet matched debt lifecycles and maturity roll-forwards
No API key required; supplied credentials can add restrictions
Uses exact normalized specific identities across at most 40 eligible filings. Generic instruments, unbound events, noisy candidates, missing values, and incompatible maturity schedules remain explicit and are never inferred or replaced with zero.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Z0-9.-]{1,16}$" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/intelligence/issuers/YOUR_TICKER/debt-lifecycle'Responses
HTTP 200
Debt Lifecycle and Maturity v1 with exact SEC evidence
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /intelligence/issuers/{ticker}/debt-amendmentsInspect bounded source-linked debt agreement and amendment histories
No API key required; supplied credentials can add restrictions
Deployed after legacy-corpus reprocessing, bounded public readback and source-hash-pinned matching/refusal acceptance. Broader amendment-chain accuracy and market-wide recall remain unproven. Reads up to limit eligible filings plus one lookahead. Public access is supported; supplied credentials require intelligence:read, billing access, and issuer and indexed-history access. No continuation cursor or frozen history edition is provided. Explicit dated references and candidate instrument identities remain separate; no legal identity, causal balance change, current balance, or complete history is inferred. Older extractions without debt-reference metadata have unknown coverage. Only limit is accepted as a query parameter.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
limit | query | No | integer · minimum: 1; maximum: 100; default: 40 | Maximum eligible stored filings; one additional filing is read to detect truncation |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/intelligence/issuers/YOUR_TICKER/debt-amendments'Responses
HTTP 200
Bounded observed history; no eligible stored filings returns an empty result with an unknown expected filing count
Response headers: Cache-Control.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | Bounded observed history, not a complete legal archive, complete SEC denominator, frozen edition, or authoritative current balance. Identity and relation status are never automatically verified. |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/DebtAmendmentHistoryResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Supplied account lacks billing access
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
debt_history_unavailable when the storage interface is unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /intelligence/issuers/{ticker}/covenant-trackerGet covenant thresholds, schedules, explicit headroom, and amendments
No API key required; supplied credentials can add restrictions
Calculates headroom only when a single observation explicitly contains compatible threshold, observed value, and comparator inputs. Missing inputs and ambiguous covenant identities remain unresolved; no compliance, severity, or investment conclusion is assigned.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Z0-9.-]{1,16}$" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/intelligence/issuers/YOUR_TICKER/covenant-tracker'Responses
HTTP 200
Covenant Tracker v1 with exact SEC evidence
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /intelligence/issuers/{ticker}/default-remediationGet defaults, remediation candidates, and going-concern changes
No API key required; supplied credentials can add restrictions
Returns explicit-occurrence default and breach candidates, waiver/forbearance/cure candidates, same-evidence remediation links, unresolved mentions, and consecutive-filing going-concern detection changes. It does not infer legal effect, cure, compliance, severity, or an investment conclusion.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Z0-9.-]{1,16}$" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/intelligence/issuers/YOUR_TICKER/default-remediation'Responses
HTTP 200
Default and Remediation Timeline v1 with exact SEC evidence
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /intelligence/issuers/{ticker}/instrument-termsCompare explicitly bound instrument terms across filings
No API key required; supplied credentials can add restrictions
Compares rates, benchmarks, floors, spreads, collateral, guarantors, security packages, and changed source passages only for explicit same-clause specific instrument identities. Incompatible or ambiguous observations remain unresolved; no legal effect, severity, materiality, or investment conclusion is assigned.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Z0-9.-]{1,16}$" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/intelligence/issuers/YOUR_TICKER/instrument-terms'Responses
HTTP 200
Instrument Terms Comparison v1 with prior/current SEC evidence
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /intelligence/issuers/{ticker}/timelineGet the bounded debt and liquidity timeline and maturity roll-forwards
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Z0-9.-]{1,16}$" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/intelligence/issuers/YOUR_TICKER/timeline'Responses
HTTP 200
Multi-period timeline with source-linked values and explicit unavailable fields
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /intelligence/issuers/{ticker}/qualityGet contradiction and stale-value candidates without selecting a winner
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Z0-9.-]{1,16}$" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/intelligence/issuers/YOUR_TICKER/quality'Responses
HTTP 200
Source-linked data-quality candidates and deterministic methodology identifiers
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/bank-peersLoad retained account and optional issuer context without contacting FDIC
Signed-in website session · API keys are not accepted
Deployed with bounded real FDIC search, two-bank/two-quarter comparison and export acceptance. Browser session only; API keys are rejected. Requires account:read, intelligence:read, billing access and a valid reference-data retrieval lookback. Optional issuerTicker additionally requires current issuer access and one eligible retained SEC source. Reads only existing private GLEIF review state; does not fetch GLEIF or FDIC, create a review, or imply a bank-to-issuer mapping. No body or other query parameters. The shared workspace limit is 30 operations per organization and user per five minutes. The standalone workflow needs no new migration; unavailable migration-030 review storage leaves optional identity context unresolved. Base FDIC institution and Call Report sources are enabled under the current admission; expansion datasets remain separately gated.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
issuerTicker | query | No | string · pattern: "^[A-Z0-9][A-Z0-9.-]{0,15}$" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Account limits, fully completed-quarter defaults and optional saved issuer identity context; no provider request
Response headers: Cache-Control.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/BankPeerContextResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Retained optional issuer source or private artifact integrity is invalid
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/bank-peers/searchExplicitly search FDIC for a public bank name without confirming issuer identity
Signed-in website session · API keys are not accepted
Browser session only with account:read, intelligence:read, billing and valid history access. No query parameters or arbitrary provider filters. The explicit public bank name is sent as a bounded phrase query; do not submit customer-private text. Returns at most ten candidate institution rows and exact request receipts without following pagination. A bank name, high-holder name or RSSD identifier never confirms an SEC issuer match. Current FDIC admission is active. Disabled, expired, empty, partial and unavailable provider states are explicit in a 200 response, not replaced with illustrative data. No private review or customer state is written.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
name | Yes | string · minLength: 2; maxLength: 120 | Explicit public bank name; trimmed text must have at least two characters. Control characters and unsupported query-angle syntax are rejected; never submit private customer text |
Request schema
{
"$ref": "#/components/schemas/BankPeerSearchRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Bounded public-name candidates with source admission, request receipts and known gaps
Response headers: Cache-Control.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/BankPeerSearchResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Provider metadata failed the supported source contract
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/bank-peers/compareCompare selected bank certificates across exact reporting quarters with coverage receipts
Signed-in website session · API keys are not accepted
Browser session only with account:read, intelligence:read, billing and history access. Requires one through five canonical FDIC certificate strings, an exact calendar-quarter end and one through eight consecutive quarters; all dates must be no earlier than 1992-12-31, within the account reference-data retrieval window and not future. No query parameters, silent date clamping or replacement quarters. The four balance-sheet measures retain USD-thousands scale and decimal strings; missing, unavailable and duplicate records remain explicit. No totals, ratios, rankings, safety scores or investment conclusions. FDIC bank reports can overlap through subsidiary consolidation and must not be summed as issuer or industry totals. Optional issuerTicker rechecks source and private-review versions before and after retrieval. Only equality between the bank LEI and the current private-reviewed issuer LEI yields identifier_consistent, limited to current reference sources; differing LEIs remain unmapped. Names, CIK guesses, RSSD high holders and GLEIF parent links never create an issuer association. A changed context returns 409. This is an ephemeral response, not a saved customer snapshot or original-publication-vintage archive. A disabled, expired or unavailable FDIC admission yields explicit unavailable cells in 200.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
certs | Yes | array · minItems: 1; maxItems: 5 | |
reportDate | Yes | string · format: "date"; pattern: "^[0-9]{4}-(03-31|06-30|09-30|12-31)$" | Exact calendar-quarter end; comparison requests also enforce current history access and nonfuture dates no earlier than 1992-12-31 |
quarters | Yes | integer · minimum: 1; maximum: 8 | Selected quarter plus this count minus one preceding consecutive quarters; crossing history access is refused, not clamped |
issuerTicker | No | anyOf · default: null |
Request schema
{
"$ref": "#/components/schemas/BankPeerComparisonRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Exact requested bank-period observations, conservative mapping states, typed cells and complete bounded cell accounting
Response headers: Cache-Control.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/BankPeerComparisonResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Optional retained issuer or private review changed during retrieval; reload rather than reuse stale context
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Source scope
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/bank-peers/expansionLoad separately admitted FDIC Call Report, deposit-geography, and failure datasets
Signed-in website session · API keys are not accepted
Browser session only with the same access and exact selector bounds as bank comparison. The six additional Call Report metrics, annual Summary of Deposits state aggregation, and selected-certificate failure history each have an independent server-owned dataset admission. An unapproved dataset returns rights_review_required with no rows, receipts, provider request, or illustrative substitute. Branch state is not customer or revenue geography; failure history is not a safety rating or prediction.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
certs | Yes | array · minItems: 1; maxItems: 5 | |
reportDate | Yes | string · format: "date"; pattern: "^[0-9]{4}-(03-31|06-30|09-30|12-31)$" | Exact calendar-quarter end; comparison requests also enforce current history access and nonfuture dates no earlier than 1992-12-31 |
quarters | Yes | integer · minimum: 1; maximum: 8 | Selected quarter plus this count minus one preceding consecutive quarters; crossing history access is refused, not clamped |
issuerTicker | No | anyOf · default: null |
Request schema
{
"$ref": "#/components/schemas/BankPeerComparisonRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Exact request-bound expansion with independent dataset status, coverage, receipts, limitations and content hash
Response headers: Cache-Control.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/FdicExpansionResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Expansion source scope or response shape could not be established
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/entity-matches/{ticker}Read the current user's source-bound issuer identity review
Signed-in website session · API keys are not accepted
Deployed with migration 030 applied and bounded live source-admission, access, concurrency, stale-source and deletion acceptance. Browser session only, with account:read, intelligence:read, billing and current issuer and indexed-history access. API keys, query parameters and request bodies are rejected. Reads one latest eligible retained SEC issuer source and private reviews without contacting GLEIF. Changed SEC source hashes make previous confirmations currently unresolved; inaccessible saved sources are hidden, not refreshed. Returns at most 20 history summaries. All entity-review operations share 30 requests per organization/user per five minutes.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
ticker | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Current SEC subject and private review; confirmed means reviewer attestation, not GLEIF verification or credit support
Response headers: Cache-Control.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/EntityMatchResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Billing access is required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Retained subject or artifact integrity could not be established
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Required subject or private review storage is unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/entity-matches/{ticker}Explicitly delete all of the user's saved revisions for one CIK
Signed-in website session · API keys are not accepted
Browser session, account:read and active organization membership required; billing, intelligence:read and issuer and indexed-history access are not required for owner cleanup. Required JSON body identifies the saved ten-digit CIK; ticker is syntactically validated but no SEC/provider lookup is made. Deletes only this organization's current user's CIK history, not issuer data. No query parameters. Do not automatically retry an uncertain outcome.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
ticker | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
cik | Yes | string · pattern: "^(?!0000000000$)[0-9]{10}$" |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"cik"
],
"properties": {
"cik": {
"type": "string",
"pattern": "^(?!0000000000$)[0-9]{10}$"
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Owned CIK review history removed; no response body
Response headers: Cache-Control.
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Private review storage is unavailable; deletion is not confirmed
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/entity-matches/{ticker}/candidatesExplicitly search GLEIF using the retained public SEC issuer name
Signed-in website session · API keys are not accepted
Browser session only with account:read, intelligence:read, billing and issuer and indexed-history access. Requires an empty JSON object; no query parameters or customer-supplied search text. Returns at most ten first-page candidates; normalized name equality is not verification. GLEIF source admission is active under the current reviewed server-owned approval. Disabled, expired, empty or unavailable provider states remain explicit in a 200 response.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
ticker | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Request body (required)
Content type: application/json
Request schema
{
"type": "object",
"additionalProperties": false,
"maxProperties": 0
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
SEC-bound candidate search with provider receipts and explicit gaps
Response headers: Cache-Control.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/EntityMatchCandidatesResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Billing access is required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Retained SEC issuer source is invalid
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Required issuer source storage is unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/entity-matches/{ticker}/previewPreview one explicitly selected LEI and reported consolidation relationships
Signed-in website session · API keys are not accepted
Browser session only with account:read, intelligence:read, billing and issuer and indexed-history access. No query parameters. The LEI must pass MOD 97 check digits. Retrieves bounded direct/ultimate parent or reporting-exception records; does not recursively follow parents or successors. Preview is not a saved confirmation. Disabled/unavailable GLEIF yields an explicit unresolved preview. GLEIF's CC0 data remains separate from private notes.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
ticker | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
lei | Yes | string · pattern: "^[A-Z0-9]{18}[0-9]{2}$" | Uppercase twenty-character LEI; server additionally verifies MOD 97 check digits |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"lei"
],
"properties": {
"lei": {
"$ref": "#/components/schemas/EntityMatchLei"
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Unsaved source-bound normalized artifact with candidate or unresolved state
Response headers: Cache-Control.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/EntityMatchPreviewResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Billing access is required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Normalized source artifact exceeds 100000 bytes
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Source identity or shape is invalid
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Required issuer source storage is unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/entity-matches/{ticker}/expansionExplicitly load admitted GLEIF event dates and bounded child relationships
Signed-in website session · API keys are not accepted
Browser session only with account:read, intelligence:read, billing and issuer and indexed-history access. The checksum-valid exact LEI is bound to the current retained SEC subject. The registration/entity-event timeline and Level 2 direct/ultimate child relationship records have independent dataset admissions. Unapproved datasets return rights_review_required without a provider call. Child results are first-page only, capped at twenty per relationship class, and never imply beneficial ownership, control percentage, a guarantee or a complete historical snapshot.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
ticker | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
lei | Yes | string · pattern: "^[A-Z0-9]{18}[0-9]{2}$" | Uppercase twenty-character LEI; server additionally verifies MOD 97 check digits |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"lei"
],
"properties": {
"lei": {
"$ref": "#/components/schemas/EntityMatchLei"
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
SEC-subject-bound expansion with per-dataset status, bounded coverage, exact receipts, gaps and limitations
Response headers: Cache-Control.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GleifResearchResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/entity-matches/{ticker}/decisionsAppend one private reviewer attestation or unresolved decision
Signed-in website session · API keys are not accepted
Browser session only with account:read, intelligence:read, billing and issuer and indexed-history access. No query parameters. Rebuilds subject/provider evidence and compares subject and preview hashes before atomically checking expectedVersion. A confirmed decision needs a current accepted preview; unresolved saves no selected provider entity. Conflicts refuse without overwriting prior reviews. Caps are 200 revisions per user/CIK, 2000 per organization and 100000 artifact bytes. No automatic confirmation, issuer-master update, guarantee, ownership-completeness or KYC conclusion. Private notes never go to GLEIF; do not automatically retry uncertain saves.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | path | Yes | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
ticker | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
state | Yes | string · one of: "confirmed", "unresolved" | |
expectedVersion | Yes | integer · minimum: 0; maximum: 9007199254740991 | |
subjectSha256 | Yes | string · pattern: "^[a-f0-9]{64}$" | |
lei | No | string · pattern: "^[A-Z0-9]{18}[0-9]{2}$" | Uppercase twenty-character LEI; server additionally verifies MOD 97 check digits |
previewSha256 | No | string · pattern: "^[a-f0-9]{64}$" | |
note | Yes | string · minLength: 1; maxLength: 2000 | Nonblank private rationale; control characters except newline are rejected |
acknowledgeIdentityOnly | Yes | boolean · const: true |
Request schema
{
"$ref": "#/components/schemas/EntityMatchDecisionRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Saved private immutable revision; reviewer state does not upgrade source verification
Response headers: Cache-Control.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | Private reviewer attestation; immutable until explicit owned-subject or account cleanup |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/EntityMatchReviewResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Billing access is required
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Subject/preview changed
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Artifact or planned response exceeds its bound; no review saved
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 422
Source identity or integrity is invalid
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Required source/provider/review storage is unavailable; successful save is not confirmed
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /reader/filings/{accession}/section-comparisonCompare two explicitly selected retained primary-document sections
No API key required; supplied credentials can add restrictions
Deployed bounded review requiring two different accessions of the same known issuer CIK. The path accession is the after side; beforeAccession is the before side, not an assertion of chronology or amendment. Section IDs must come from current catalogs. Exact whitespace-preserving token diffs fall back to a labeled whole-section replacement above 4000 tokens per side or 1000000 token pairs; selected text above 40000 UTF-16 code units is refused, not truncated. Source completeness stays unknown and text edits do not establish disclosure, materiality, severity or legal conclusions. Uses existing structured records only; no writes, exhibits, LLM, external provider or new migration. Anonymous public reader policy applies; supplied credentials require reader:read, billing, and current issuer and indexed-history access to both sources. Rejects all query parameters, always no-store, shares the section-catalog action rate limit.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
accession | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
beforeAccession | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
beforeSectionId | Yes | string · pattern: "^section-[a-f0-9]{64}$" | |
afterSectionId | Yes | string · pattern: "^section-[a-f0-9]{64}$" |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"beforeAccession",
"beforeSectionId",
"afterSectionId"
],
"properties": {
"beforeAccession": {
"type": "string",
"pattern": "^\\d{10}-\\d{2}-\\d{6}$"
},
"beforeSectionId": {
"type": "string",
"pattern": "^section-[a-f0-9]{64}$"
},
"afterSectionId": {
"type": "string",
"pattern": "^section-[a-f0-9]{64}$"
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/reader/filings/YOUR_ACCESSION/section-comparison' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Exact selected-section text differences and bounded coverage receipt
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
meta | Yes | object | |
data | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ReaderSectionReviewResponse"
}HTTP 400
Invalid/unsupported input
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Authenticated billing access required
HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
section_selection_changed; reload catalogs and choose again
HTTP 413
Selected section or response exceeds its explicit size bound
HTTP 422
Selected section or filing source metadata is unsafe
HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reader/filings/{accession}/compare/{otherAccession}Compare aligned source-backed passages side by side
No API key required; supplied credentials can add restrictions
Supports filing-to-filing and agreement-or-amendment comparisons without severity, materiality, legal, or investment conclusions.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
otherAccession | path | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
accession | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reader/filings/YOUR_ACCESSION/compare/YOUR_OTHERACCESSION'Responses
HTTP 200
Deterministic aligned passages and changed-word segments
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ReaderComparisonResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reader/filings/{accession}/report.pdfDownload a clean source-linked filing or comparison PDF
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
compare_to | query | No | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
accession | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reader/filings/YOUR_ACCESSION/report.pdf'Responses
HTTP 200
Bounded PDF with clickable SEC source links
Content type: application/pdf
Response schema
{
"type": "string",
"format": "binary"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /eventsList comparisons or first-filing baseline events
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
limit | query | No | integer · minimum: 1; maximum: 100; default: 20 | Page size. Larger pages consume more query cost. |
cursor | query | No | string · minLength: 1; maxLength: 1000 | Opaque nextCursor returned by the same endpoint with the same filters. |
ticker | query | No | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
cik | query | No | string · pattern: "^\\d{1,10}$" | One to ten digits; the API left-pads it to ten digits. |
form | query | No | string · one of: "10-Q", "10-Q/A", "10-K", "10-K/A", "8-K", "8-K/A", "20-F", "20-F/A", "6-K", "6-K/A", "S-1", "S-1/A", "S-3", "S-3/A", "S-4", "S-4/A", "424B1", "424B2", "424B3", "424B4", "424B5", "424B7", "424B8", "DEF 14A", "DEFA14A", "3", "3/A", "4", "4/A", "5", "5/A", "SC 13D", "SC 13D/A", "SC 13G", "SC 13G/A", "SCHEDULE 13D", "SCHEDULE 13D/A", "SCHEDULE 13G", "SCHEDULE 13G/A", "13F-HR", "13F-HR/A", "13F-NT", "13F-NT/A", "SC TO-C", "SC TO-C/A", "SC TO-I", "SC TO-I/A", "SC TO-T", "SC TO-T/A", "SC 14D9", "SC 14D9/A", "SC 13E3", "SC 13E3/A", "PREM14A", "PRER14A", "DEFM14A", "DEFM14A/A", "425" | |
category | query | No | string · one of: "debt", "liquidity", "covenant", "going_concern" | |
verification | query | No | string · one of: "unverified", "candidate", "machine_checked", "verified", "illustrative" | |
filed_from | query | No | string · format: "date" | |
filed_to | query | No | string · format: "date" | |
effective_from | query | No | string · format: "date" | |
effective_to | query | No | string · format: "date" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/events'Responses
HTTP 200
Paginated source-cited event resources; severity remains unassigned
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | array | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/EventListResponse"
}HTTP 304
Representation matches If-None-Match; response has no body
Response headers: ETag, X-API-Version.
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /events.csvExport authenticated evidence-backed events as CSV
API key or signed-in session
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
limit | query | No | integer · minimum: 1; maximum: 100; default: 20 | Page size. Larger pages consume more query cost. |
ticker | query | No | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
cik | query | No | string · pattern: "^\\d{1,10}$" | One to ten digits; the API left-pads it to ten digits. |
form | query | No | string · one of: "10-Q", "10-Q/A", "10-K", "10-K/A", "8-K", "8-K/A", "20-F", "20-F/A", "6-K", "6-K/A", "S-1", "S-1/A", "S-3", "S-3/A", "S-4", "S-4/A", "424B1", "424B2", "424B3", "424B4", "424B5", "424B7", "424B8", "DEF 14A", "DEFA14A", "3", "3/A", "4", "4/A", "5", "5/A", "SC 13D", "SC 13D/A", "SC 13G", "SC 13G/A", "SCHEDULE 13D", "SCHEDULE 13D/A", "SCHEDULE 13G", "SCHEDULE 13G/A", "13F-HR", "13F-HR/A", "13F-NT", "13F-NT/A", "SC TO-C", "SC TO-C/A", "SC TO-I", "SC TO-I/A", "SC TO-T", "SC TO-T/A", "SC 14D9", "SC 14D9/A", "SC 13E3", "SC 13E3/A", "PREM14A", "PRER14A", "DEFM14A", "DEFM14A/A", "425" | |
category | query | No | string · one of: "debt", "liquidity", "covenant", "going_concern" | |
verification | query | No | string · one of: "unverified", "candidate", "machine_checked", "verified", "illustrative" | |
filed_from | query | No | string · format: "date" | |
filed_to | query | No | string · format: "date" | |
effective_from | query | No | string · format: "date" | |
effective_to | query | No | string · format: "date" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/events.csv' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Spreadsheet-safe events with accessions, filing URLs, exact evidence, verification state, and disclaimers
Content type: text/csv
Response schema
{
"type": "string"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /facilitiesList extracted revolving-credit-facility facts
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
limit | query | No | integer · minimum: 1; maximum: 100; default: 20 | Page size. Larger pages consume more query cost. |
cursor | query | No | string · minLength: 1; maxLength: 1000 | Opaque nextCursor returned by the same endpoint with the same filters. |
ticker | query | No | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
cik | query | No | string · pattern: "^\\d{1,10}$" | One to ten digits; the API left-pads it to ten digits. |
form | query | No | string · one of: "10-Q", "10-Q/A", "10-K", "10-K/A", "8-K", "8-K/A", "20-F", "20-F/A", "6-K", "6-K/A", "S-1", "S-1/A", "S-3", "S-3/A", "S-4", "S-4/A", "424B1", "424B2", "424B3", "424B4", "424B5", "424B7", "424B8", "DEF 14A", "DEFA14A", "3", "3/A", "4", "4/A", "5", "5/A", "SC 13D", "SC 13D/A", "SC 13G", "SC 13G/A", "SCHEDULE 13D", "SCHEDULE 13D/A", "SCHEDULE 13G", "SCHEDULE 13G/A", "13F-HR", "13F-HR/A", "13F-NT", "13F-NT/A", "SC TO-C", "SC TO-C/A", "SC TO-I", "SC TO-I/A", "SC TO-T", "SC TO-T/A", "SC 14D9", "SC 14D9/A", "SC 13E3", "SC 13E3/A", "PREM14A", "PRER14A", "DEFM14A", "DEFM14A/A", "425" | |
category | query | No | string · one of: "debt", "liquidity", "covenant", "going_concern" | |
verification | query | No | string · one of: "unverified", "candidate", "machine_checked", "verified", "illustrative" | |
filed_from | query | No | string · format: "date" | |
filed_to | query | No | string · format: "date" | |
effective_from | query | No | string · format: "date" | |
effective_to | query | No | string · format: "date" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/facilities'Responses
HTTP 200
Paginated facility facts with exact evidence
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | array | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/FacilityListResponse"
}HTTP 304
Representation matches If-None-Match; response has no body
Response headers: ETag, X-API-Version.
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /covenantsList covenant and related legal-event signals
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
limit | query | No | integer · minimum: 1; maximum: 100; default: 20 | Page size. Larger pages consume more query cost. |
cursor | query | No | string · minLength: 1; maxLength: 1000 | Opaque nextCursor returned by the same endpoint with the same filters. |
ticker | query | No | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
cik | query | No | string · pattern: "^\\d{1,10}$" | One to ten digits; the API left-pads it to ten digits. |
form | query | No | string · one of: "10-Q", "10-Q/A", "10-K", "10-K/A", "8-K", "8-K/A", "20-F", "20-F/A", "6-K", "6-K/A", "S-1", "S-1/A", "S-3", "S-3/A", "S-4", "S-4/A", "424B1", "424B2", "424B3", "424B4", "424B5", "424B7", "424B8", "DEF 14A", "DEFA14A", "3", "3/A", "4", "4/A", "5", "5/A", "SC 13D", "SC 13D/A", "SC 13G", "SC 13G/A", "SCHEDULE 13D", "SCHEDULE 13D/A", "SCHEDULE 13G", "SCHEDULE 13G/A", "13F-HR", "13F-HR/A", "13F-NT", "13F-NT/A", "SC TO-C", "SC TO-C/A", "SC TO-I", "SC TO-I/A", "SC TO-T", "SC TO-T/A", "SC 14D9", "SC 14D9/A", "SC 13E3", "SC 13E3/A", "PREM14A", "PRER14A", "DEFM14A", "DEFM14A/A", "425" | |
category | query | No | string · one of: "debt", "liquidity", "covenant", "going_concern" | |
verification | query | No | string · one of: "unverified", "candidate", "machine_checked", "verified", "illustrative" | |
filed_from | query | No | string · format: "date" | |
filed_to | query | No | string · format: "date" | |
effective_from | query | No | string · format: "date" | |
effective_to | query | No | string · format: "date" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/covenants'Responses
HTTP 200
Paginated candidate covenant resources with exact source evidence
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | array | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/CovenantListResponse"
}HTTP 304
Representation matches If-None-Match; response has no body
Response headers: ETag, X-API-Version.
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /filing-comparisonsList differences between comparable filings
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
limit | query | No | integer · minimum: 1; maximum: 100; default: 20 | Page size. Larger pages consume more query cost. |
cursor | query | No | string · minLength: 1; maxLength: 1000 | Opaque nextCursor returned by the same endpoint with the same filters. |
ticker | query | No | string · pattern: "^[A-Za-z0-9.-]{1,16}$" | |
cik | query | No | string · pattern: "^\\d{1,10}$" | One to ten digits; the API left-pads it to ten digits. |
form | query | No | string · one of: "10-Q", "10-Q/A", "10-K", "10-K/A", "8-K", "8-K/A", "20-F", "20-F/A", "6-K", "6-K/A", "S-1", "S-1/A", "S-3", "S-3/A", "S-4", "S-4/A", "424B1", "424B2", "424B3", "424B4", "424B5", "424B7", "424B8", "DEF 14A", "DEFA14A", "3", "3/A", "4", "4/A", "5", "5/A", "SC 13D", "SC 13D/A", "SC 13G", "SC 13G/A", "SCHEDULE 13D", "SCHEDULE 13D/A", "SCHEDULE 13G", "SCHEDULE 13G/A", "13F-HR", "13F-HR/A", "13F-NT", "13F-NT/A", "SC TO-C", "SC TO-C/A", "SC TO-I", "SC TO-I/A", "SC TO-T", "SC TO-T/A", "SC 14D9", "SC 14D9/A", "SC 13E3", "SC 13E3/A", "PREM14A", "PRER14A", "DEFM14A", "DEFM14A/A", "425" | |
category | query | No | string · one of: "debt", "liquidity", "covenant", "going_concern" | |
verification | query | No | string · one of: "unverified", "candidate", "machine_checked", "verified", "illustrative" | |
filed_from | query | No | string · format: "date" | |
filed_to | query | No | string · format: "date" | |
effective_from | query | No | string · format: "date" | |
effective_to | query | No | string · format: "date" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/filing-comparisons'Responses
HTTP 200
Paginated standardized comparisons; baseline-only events are excluded
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | array | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/EventListResponse"
}HTTP 304
Representation matches If-None-Match; response has no body
Response headers: ETag, X-API-Version.
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/reference-monitorsList up to 20 private saved reference selections for the signed-in user
Signed-in website session · API keys are not accepted
Browser session only with intelligence:read and billing access. No query parameters. Each returned monitor includes its source-specific check policy and next scheduled check when enabled. Inaccessible saved workspaces are omitted; provider outages do not erase retained baselines.
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
User-owned monitor summaries and immutable definitions
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/reference-monitorsSave one bounded bank, entity, workspace, public-source, or New York Fed selection
Signed-in website session · API keys are not accepted
Browser session only. Definitions are immutable and the per-user cap is 20. Exact kind-specific selectors and rules are defined by the Reference Research Features contract; unknown fields and incompatible selectors are refused. Public Source Desk kinds remain unable to check until their exact source admission and credentials are active. Workspace selections require alertsEnabled false; other alerts are private and in-app only.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
kind | Yes | string · one of: "bank", "entity", "workspace", "cftc", "eia", "treasury_fiscal", "companies_house", "usaspending", "federal_register", "edinet", "esma", "nyfed" | |
name | Yes | string · minLength: 1; maxLength: 120 | |
alertsEnabled | Yes | boolean | |
certs | No | array · minItems: 1; maxItems: 5 | |
quarters | No | integer · minimum: 1; maximum: 8 | |
reportDate | No | string · format: "date" | |
rolling | No | boolean | |
alertRule | No | object | |
ticker | No | string · pattern: "^[A-Z0-9][A-Z0-9.-]{0,15}$" | |
lei | No | string · pattern: "^[A-Z0-9]{20}$" | |
gleifAlertRule | No | object | |
subjectCert | No | string | |
peerCerts | No | array · maxItems: 4 | |
startDate | No | string · format: "date" | |
endDate | No | string · format: "date" | |
reportFamily | No | string | |
marketCode | No | string · pattern: "^[A-Z0-9+]{1,12}$" | |
category | No | string | |
cftcAlertRule | No | object | |
dataset | No | string | |
stateCode | No | string | |
sectorCode | No | string | |
fuelTypeId | No | string | |
seriesId | No | string | |
eiaAlertRule | No | object | |
analystLinks | No | array · maxItems: 8 | |
selector | No | object | |
treasuryAlertRule | No | object | |
companyNumber | No | string · pattern: "^[A-Za-z0-9]{8}$" | |
companyName | No | string · maxLength: 240 | |
linkBasis | No | string · const: "analyst_confirmed_no_legal_identity_inference" | |
companiesHouseAlertRule | No | object | |
recipientId | No | string · maxLength: 120 | |
recipientUei | No | string · pattern: "^[A-Z0-9]{12}$" | |
recipientName | No | string · maxLength: 240 | |
awardTypeCodes | No | array · maxItems: 22 | |
usaSpendingAlertRule | No | object | |
query | No | string · maxLength: 120 | |
agencySlugs | No | array · maxItems: 5 | |
topicSlugs | No | array · maxItems: 5 | |
documentTypes | No | array · maxItems: 5 | |
federalRegisterAlertRule | No | object | |
workspaceTicker | No | string · pattern: "^[A-Z0-9][A-Z0-9.-]{0,15}$" | |
manualAttachment | No | object | |
edinetCode | No | string · pattern: "^E\\d{5}$" | |
securityCode | No | string · pattern: "^\\d{5}$" | |
basis | No | string · one of: "analyst_confirmed_no_legal_identity_inference", "exact_lei_no_compliance_inference" | |
edinetAlertRule | No | object | |
register | No | string · one of: "sanctions", "entities" | |
esmaAlertRule | No | object | |
series | No | string · one of: "sofr", "effr", "tgcr", "bgcr" | |
nyFedAlertRule | No | object |
Request schema
{
"type": "object",
"required": [
"kind",
"name",
"alertsEnabled"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"bank",
"entity",
"workspace",
"cftc",
"eia",
"treasury_fiscal",
"companies_house",
"usaspending",
"federal_register",
"edinet",
"esma",
"nyfed"
]
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"alertsEnabled": {
"type": "boolean"
},
"certs": {
"type": "array",
"minItems": 1,
"maxItems": 5,
"uniqueItems": true,
"items": {
"type": "string"
}
},
"quarters": {
"type": "integer",
"minimum": 1,
"maximum": 8
},
"reportDate": {
"type": "string",
"format": "date"
},
"rolling": {
"type": "boolean"
},
"alertRule": {
"type": "object",
"additionalProperties": false,
"properties": {
"metric": {
"type": "string"
},
"direction": {
"type": "string",
"enum": [
"above",
"below"
]
},
"threshold": {
"type": "string"
}
}
},
"ticker": {
"type": "string",
"pattern": "^[A-Z0-9][A-Z0-9.-]{0,15}$"
},
"lei": {
"type": "string",
"pattern": "^[A-Z0-9]{20}$"
},
"gleifAlertRule": {
"type": "object",
"additionalProperties": false,
"properties": {
"event": {
"type": "string",
"enum": [
"any_lei_change",
"registration_change",
"relationship_change",
"successor_change"
]
}
}
},
"subjectCert": {
"type": "string"
},
"peerCerts": {
"type": "array",
"maxItems": 4,
"uniqueItems": true,
"items": {
"type": "string"
}
},
"startDate": {
"type": "string",
"format": "date"
},
"endDate": {
"type": "string",
"format": "date"
},
"reportFamily": {
"type": "string"
},
"marketCode": {
"type": "string",
"pattern": "^[A-Z0-9+]{1,12}$"
},
"category": {
"type": "string"
},
"cftcAlertRule": {
"type": "object",
"additionalProperties": false,
"properties": {
"metric": {
"type": "string"
},
"direction": {
"type": "string",
"enum": [
"above",
"below"
]
},
"threshold": {
"type": "string"
}
}
},
"dataset": {
"type": "string"
},
"stateCode": {
"type": "string"
},
"sectorCode": {
"type": "string"
},
"fuelTypeId": {
"type": "string"
},
"seriesId": {
"type": "string"
},
"eiaAlertRule": {
"type": "object",
"additionalProperties": true
},
"analystLinks": {
"type": "array",
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": true
}
},
"selector": {
"type": "object",
"additionalProperties": true
},
"treasuryAlertRule": {
"type": "object",
"additionalProperties": true
},
"companyNumber": {
"type": "string",
"pattern": "^[A-Za-z0-9]{8}$"
},
"companyName": {
"type": "string",
"maxLength": 240
},
"linkBasis": {
"type": "string",
"const": "analyst_confirmed_no_legal_identity_inference"
},
"companiesHouseAlertRule": {
"type": "object",
"additionalProperties": false,
"properties": {
"event": {
"type": "string",
"enum": [
"new_filing",
"status_change",
"new_filing_or_status_change"
]
}
}
},
"recipientId": {
"type": "string",
"maxLength": 120
},
"recipientUei": {
"type": "string",
"pattern": "^[A-Z0-9]{12}$"
},
"recipientName": {
"type": "string",
"maxLength": 240
},
"awardTypeCodes": {
"type": "array",
"maxItems": 22,
"uniqueItems": true,
"items": {
"type": "string"
}
},
"usaSpendingAlertRule": {
"type": "object",
"additionalProperties": false,
"properties": {
"event": {
"type": "string",
"const": "new_award"
}
}
},
"query": {
"type": "string",
"maxLength": 120
},
"agencySlugs": {
"type": "array",
"maxItems": 5,
"uniqueItems": true,
"items": {
"type": "string"
}
},
"topicSlugs": {
"type": "array",
"maxItems": 5,
"uniqueItems": true,
"items": {
"type": "string"
}
},
"documentTypes": {
"type": "array",
"maxItems": 5,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"rule",
"proposed_rule",
"notice",
"presidential_document"
]
}
},
"federalRegisterAlertRule": {
"type": "object",
"additionalProperties": false,
"properties": {
"event": {
"type": "string",
"const": "new_document"
}
}
},
"workspaceTicker": {
"type": "string",
"pattern": "^[A-Z0-9][A-Z0-9.-]{0,15}$"
},
"manualAttachment": {
"type": "object",
"additionalProperties": true
},
"edinetCode": {
"type": "string",
"pattern": "^E\\d{5}$"
},
"securityCode": {
"type": "string",
"pattern": "^\\d{5}$"
},
"basis": {
"type": "string",
"enum": [
"analyst_confirmed_no_legal_identity_inference",
"exact_lei_no_compliance_inference"
]
},
"edinetAlertRule": {
"type": "object",
"additionalProperties": false,
"properties": {
"event": {
"type": "string",
"const": "new_filing"
}
}
},
"register": {
"type": "string",
"enum": [
"sanctions",
"entities"
]
},
"esmaAlertRule": {
"type": "object",
"additionalProperties": false,
"properties": {
"event": {
"type": "string",
"enum": [
"sanction_change",
"authorization_change"
]
}
}
},
"series": {
"type": "string",
"enum": [
"sofr",
"effr",
"tgcr",
"bgcr"
]
},
"nyFedAlertRule": {
"type": "object",
"additionalProperties": false,
"required": [
"operator",
"threshold"
],
"properties": {
"operator": {
"type": "string",
"enum": [
"above",
"at_or_above",
"below",
"at_or_below",
"equal"
]
},
"threshold": {
"type": "string",
"pattern": "^-?(?:0|[1-9]\\d{0,2})(?:\\.\\d{1,6})?$"
}
}
}
},
"additionalProperties": false,
"description": "The server applies stricter required fields and compatibility rules selected by kind; see docs/integrations/REFERENCE_RESEARCH_FEATURES.md for the exact immutable selector and alert-rule contract."
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Saved private reference selection
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/reference-monitors/notificationsList up to 100 private in-app reference-monitor notices within current access
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Access-filtered notification evidence
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/reference-monitors/notifications/{id}/readMark one owned private reference notice as read
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Notice marked read
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/reference-monitors/{id}Read one owned saved reference after rechecking current access
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Saved reference identity and immutable definition
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}PATCH /account/reference-monitors/{id}Enable or pause private checks without changing the immutable selection
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
alertsEnabled | Yes | boolean |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"alertsEnabled"
],
"properties": {
"alertsEnabled": {
"type": "boolean"
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Updated alert state
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/reference-monitors/{id}Delete one owned saved reference and its retained private state
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Saved reference deleted
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/reference-monitors/{id}/checkRun one owned saved reference and retain a bounded baseline or notice
Signed-in website session · API keys are not accepted
Rechecks current billing, membership, issuer and history access before and after retrieval. First successful observations establish a baseline without notifying; provider outages retain the prior baseline.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Change count and baseline-established state
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/open-source-researchList the eight guarded Public Source Desk features
API key or signed-in session
CFTC seven-family positioning and the existing Treasury Fiscal Data routes are admitted in r193. Four EIA datasets are admitted in r195 with a server-managed credential. Retail allows 240 rows over 60 months, generation 1000 rows over 24 months, and weekly petroleum/storage 624 rows over 1095 days. Split date windows when coverage.truncated is true; coverage.missingSeries lists requested weekly series with no observations. Provider keys are redacted from receipts. Other adapters remain default-off. Requires intelligence:read and billing access. Returns rights_review_required, credential_required or available independently for each source. A provider credential never bypasses source admission.
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/open-source-research' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Source catalog
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Account lacks billing access
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/open-source-research/queryQuery one admitted public source through a bounded server adapter
API key or signed-in session
Accepts only source-specific allowlisted fields. Results contain at most 20 ordinary/discovery records, bounded CFTC history, or dataset-specific EIA, Treasury, Companies House, USAspending, Federal Register and EDINET and ESMA page limits, and retain source URL, retrieval time, response hash, verification and explicit missing values. Access is rechecked after the external request. ESMA uses fixed documented machine-feed cores and allowlisted field filters; callers cannot submit Solr syntax. See CFTC admits seven report families, up to four exact markets, a 742-day span and 104 weekly observations per market. Check coverage.truncated; use shorter windows instead of treating a capped result as complete. No complete stored CFTC archive or futures price feed is implied. See docs/integrations/PUBLIC_SOURCE_RESEARCH.md.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
source | Yes | string · one of: "cftc", "eia", "treasury_fiscal", "companies_house", "usaspending", "federal_register", "edinet", "esma" | |
query | No | string · maxLength: 120 | Search text; optional for Federal Register when an agency |
reportFamily | No | string · one of: "legacy_futures", "legacy_combined", "disaggregated_futures", "disaggregated_combined", "tff_futures", "tff_combined", "supplemental" | |
marketCodes | No | array · minItems: 1; maxItems: 4 | |
dataset | No | string · one of: "retail_sales", "generation_mix", "petroleum_stocks", "natural_gas_storage", "average_interest_rates", "debt_outstanding", "interest_expense", "fiscal_debt_cost", "company_search", "company_profile", "filing_history", "officers", "significant_control", "award_search", "award_detail", "recipient_timeline", "award_transactions", "award_composition", "federal_award_exposure", "document_search", "rule_timeline", "document_detail", "regulatory_change_report", "cited_summary", "filing_search", "filing_timeline", "filing_detail", "filing_download", "xbrl_facts", "source_translation", "directory", "prospectuses", "sanctions", "benchmarks", "funds", "entities", "lei_consistency" | Dataset selector; every provider route and gated operation requires its own operational admission |
startDate | No | string | ISO date |
endDate | No | string | ISO date |
state | No | string · pattern: "^(US|[A-Z]{2})$" | One generation-mix location or optional USAspending state code |
states | No | array · minItems: 1; maxItems: 4 | Retail state codes; states × sectors is limited to four |
sector | No | string · pattern: "^(99|[1-7])$" | One generation-mix sector |
sectors | No | array · minItems: 1; maxItems: 4 | Retail sectors; states × sectors is limited to four |
series | No | array · minItems: 1; maxItems: 4 | Exact weekly petroleum or natural-gas series IDs |
securityDescriptions | No | array · minItems: 1; maxItems: 4 | Exact Treasury average-rate security descriptions |
expenseCategory | No | string · minLength: 1; maxLength: 160 | Exact Treasury interest-expense category |
expenseGroup | No | string · minLength: 1; maxLength: 160 | Exact Treasury interest-expense group |
expenseTypes | No | array · minItems: 1; maxItems: 4 | Exact Treasury interest-expense types |
companyNumber | No | string · minLength: 8; maxLength: 8; pattern: "^[A-Za-z0-9]+" | Exact Companies House company number for non-search datasets |
startIndex | No | integer · minimum: 0; maximum: 10000 | Companies House list-page start index; page size is fixed at 100 per route |
awardId | No | string · minLength: 1; maxLength: 180; pattern: "^[A-Za-z0-9_.:-]+$" | Exact USAspending generated award identifier |
recipientId | No | string · minLength: 1; maxLength: 120 | Exact provider recipient ID; required for recipient timelines and exposure reports |
page | No | integer · minimum: 1; maximum: 100 | USAspending or Federal Register bounded provider page |
awardTypeCodes | No | array · maxItems: 22 | |
agency | No | string · maxLength: 160 | Exact USAspending agency name |
agencyType | No | string · default: "awarding"; one of: "awarding", "funding" | |
agencyTier | No | string · default: "toptier"; one of: "toptier", "subtier" | |
naicsCodes | No | array · maxItems: 10 | USAspending contract-only NAICS prefixes or exact codes |
pscCodes | No | array · maxItems: 10 | USAspending contract-only PSC codes |
locationScope | No | string · default: "place_of_performance"; one of: "place_of_performance", "recipient" | |
country | No | string · pattern: "^[A-Z]{3}$" | Optional USAspending three-letter country code |
county | No | string · pattern: "^\\d{3,5}$" | Optional USAspending county code |
agencySlugs | No | array · maxItems: 5 | Exact Federal Register agency slugs |
topicSlugs | No | array · maxItems: 5 | Exact Federal Register topic slugs |
documentTypes | No | array · maxItems: 5 | |
docketId | No | string · maxLength: 80 | Exact Federal Register agency docket ID |
rin | No | string · maxLength: 40; pattern: "^[A-Z0-9-]+$" | Exact Regulation Identifier Number |
documentNumber | No | string · maxLength: 40; pattern: "^[A-Za-z0-9]{1,12}-[A-Za-z0-9]{1,16}$" | Exact Federal Register document number for detail or cited summary |
date | No | string · format: "date" | Exact EDINET submission-list date |
filer | No | string · maxLength: 120 | Local EDINET filer-name/code/security search text |
filerCode | No | string · pattern: "^E\\d{5}$" | Exact EDINET filer code |
securityCode | No | string · pattern: "^\\d{5}$" | Exact EDINET security code |
ordinanceCode | No | string · pattern: "^\\d{3}$" | Exact EDINET ordinance code |
formCode | No | string · pattern: "^[A-Z0-9]{6}$" | Exact EDINET form code |
documentTypeCodes | No | array · maxItems: 8 | Exact EDINET document-type codes |
documentId | No | string · pattern: "^S[A-Z0-9]{7}$" | Exact EDINET document ID selected from one submission date |
targetLanguage | No | string · pattern: "^[A-Z]{2,8}$" | Target for separately approved source-preserving EDINET metadata translation |
pageSize | No | integer · minimum: 1; maximum: 100 | ESMA machine-feed rows per page |
name | No | string · maxLength: 160 | Exact allowlisted ESMA reported-name filter |
lei | No | string · pattern: "^[A-Z0-9]{20}$" | Checksum-valid exact LEI for ESMA filtering |
status | No | string · maxLength: 160 | Exact allowlisted ESMA reported-status filter |
register | No | string · one of: "sanctions", "benchmarks", "funds", "entities" | ESMA register selected for a GLEIF consistency check |
Request schema
{
"type": "object",
"required": [
"source"
],
"additionalProperties": false,
"properties": {
"source": {
"type": "string",
"enum": [
"cftc",
"eia",
"treasury_fiscal",
"companies_house",
"usaspending",
"federal_register",
"edinet",
"esma"
]
},
"query": {
"type": "string",
"maxLength": 120,
"description": "Search text; optional for Federal Register when an agency",
"topic": null,
"docket or RIN filter is supplied": null
},
"reportFamily": {
"type": "string",
"enum": [
"legacy_futures",
"legacy_combined",
"disaggregated_futures",
"disaggregated_combined",
"tff_futures",
"tff_combined",
"supplemental"
]
},
"marketCodes": {
"type": "array",
"minItems": 1,
"maxItems": 4,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[A-Z0-9+]{1,12}$"
}
},
"dataset": {
"type": "string",
"enum": [
"retail_sales",
"generation_mix",
"petroleum_stocks",
"natural_gas_storage",
"average_interest_rates",
"debt_outstanding",
"interest_expense",
"fiscal_debt_cost",
"company_search",
"company_profile",
"filing_history",
"officers",
"significant_control",
"award_search",
"award_detail",
"recipient_timeline",
"award_transactions",
"award_composition",
"federal_award_exposure",
"document_search",
"rule_timeline",
"document_detail",
"regulatory_change_report",
"cited_summary",
"filing_search",
"filing_timeline",
"filing_detail",
"filing_download",
"xbrl_facts",
"source_translation",
"directory",
"prospectuses",
"sanctions",
"benchmarks",
"funds",
"entities",
"lei_consistency"
],
"description": "Dataset selector; every provider route and gated operation requires its own operational admission"
},
"startDate": {
"type": "string",
"description": "ISO date",
"or YYYY-MM for a monthly EIA dataset": null
},
"endDate": {
"type": "string",
"description": "ISO date",
"or YYYY-MM for a monthly EIA dataset": null
},
"state": {
"type": "string",
"pattern": "^(US|[A-Z]{2})$",
"description": "One generation-mix location or optional USAspending state code"
},
"states": {
"type": "array",
"minItems": 1,
"maxItems": 4,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^(US|[A-Z]{2})$"
},
"description": "Retail state codes; states × sectors is limited to four"
},
"sector": {
"type": "string",
"pattern": "^(99|[1-7])$",
"description": "One generation-mix sector"
},
"sectors": {
"type": "array",
"minItems": 1,
"maxItems": 4,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"ALL",
"RES",
"COM",
"IND",
"TRA",
"OTH"
]
},
"description": "Retail sectors; states × sectors is limited to four"
},
"series": {
"type": "array",
"minItems": 1,
"maxItems": 4,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[A-Z0-9][A-Z0-9_-]{0,63}$"
},
"description": "Exact weekly petroleum or natural-gas series IDs"
},
"securityDescriptions": {
"type": "array",
"minItems": 1,
"maxItems": 4,
"uniqueItems": true,
"items": {
"type": "string",
"maxLength": 160
},
"description": "Exact Treasury average-rate security descriptions"
},
"expenseCategory": {
"type": "string",
"minLength": 1,
"maxLength": 160,
"description": "Exact Treasury interest-expense category"
},
"expenseGroup": {
"type": "string",
"minLength": 1,
"maxLength": 160,
"description": "Exact Treasury interest-expense group"
},
"expenseTypes": {
"type": "array",
"minItems": 1,
"maxItems": 4,
"uniqueItems": true,
"items": {
"type": "string",
"maxLength": 160
},
"description": "Exact Treasury interest-expense types"
},
"companyNumber": {
"type": "string",
"minLength": 8,
"maxLength": 8,
"pattern": "^[A-Za-z0-9]+",
"description": "Exact Companies House company number for non-search datasets"
},
"startIndex": {
"type": "integer",
"minimum": 0,
"maximum": 10000,
"description": "Companies House list-page start index; page size is fixed at 100 per route"
},
"awardId": {
"type": "string",
"minLength": 1,
"maxLength": 180,
"pattern": "^[A-Za-z0-9_.:-]+$",
"description": "Exact USAspending generated award identifier"
},
"recipientId": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Exact provider recipient ID; required for recipient timelines and exposure reports"
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "USAspending or Federal Register bounded provider page"
},
"awardTypeCodes": {
"type": "array",
"maxItems": 22,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D",
"02",
"03",
"04",
"05",
"06",
"07",
"08",
"09",
"10",
"11",
"IDV_A",
"IDV_B",
"IDV_B_A",
"IDV_B_B",
"IDV_B_C",
"IDV_C",
"IDV_D",
"IDV_E"
]
}
},
"agency": {
"type": "string",
"maxLength": 160,
"description": "Exact USAspending agency name"
},
"agencyType": {
"type": "string",
"enum": [
"awarding",
"funding"
],
"default": "awarding"
},
"agencyTier": {
"type": "string",
"enum": [
"toptier",
"subtier"
],
"default": "toptier"
},
"naicsCodes": {
"type": "array",
"maxItems": 10,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^\\d{2,6}$"
},
"description": "USAspending contract-only NAICS prefixes or exact codes"
},
"pscCodes": {
"type": "array",
"maxItems": 10,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[A-Z0-9]{1,4}$"
},
"description": "USAspending contract-only PSC codes"
},
"locationScope": {
"type": "string",
"enum": [
"place_of_performance",
"recipient"
],
"default": "place_of_performance"
},
"country": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "Optional USAspending three-letter country code"
},
"county": {
"type": "string",
"pattern": "^\\d{3,5}$",
"description": "Optional USAspending county code"
},
"agencySlugs": {
"type": "array",
"maxItems": 5,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"description": "Exact Federal Register agency slugs"
},
"topicSlugs": {
"type": "array",
"maxItems": 5,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"description": "Exact Federal Register topic slugs"
},
"documentTypes": {
"type": "array",
"maxItems": 5,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"rule",
"proposed_rule",
"notice",
"presidential_document"
]
}
},
"docketId": {
"type": "string",
"maxLength": 80,
"description": "Exact Federal Register agency docket ID"
},
"rin": {
"type": "string",
"maxLength": 40,
"pattern": "^[A-Z0-9-]+$",
"description": "Exact Regulation Identifier Number"
},
"documentNumber": {
"type": "string",
"maxLength": 40,
"pattern": "^[A-Za-z0-9]{1,12}-[A-Za-z0-9]{1,16}$",
"description": "Exact Federal Register document number for detail or cited summary"
},
"date": {
"type": "string",
"format": "date",
"description": "Exact EDINET submission-list date"
},
"filer": {
"type": "string",
"maxLength": 120,
"description": "Local EDINET filer-name/code/security search text"
},
"filerCode": {
"type": "string",
"pattern": "^E\\d{5}$",
"description": "Exact EDINET filer code"
},
"securityCode": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "Exact EDINET security code"
},
"ordinanceCode": {
"type": "string",
"pattern": "^\\d{3}$",
"description": "Exact EDINET ordinance code"
},
"formCode": {
"type": "string",
"pattern": "^[A-Z0-9]{6}$",
"description": "Exact EDINET form code"
},
"documentTypeCodes": {
"type": "array",
"maxItems": 8,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^\\d{3}$"
},
"description": "Exact EDINET document-type codes"
},
"documentId": {
"type": "string",
"pattern": "^S[A-Z0-9]{7}$",
"description": "Exact EDINET document ID selected from one submission date"
},
"targetLanguage": {
"type": "string",
"pattern": "^[A-Z]{2,8}$",
"description": "Target for separately approved source-preserving EDINET metadata translation"
},
"pageSize": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "ESMA machine-feed rows per page"
},
"name": {
"type": "string",
"maxLength": 160,
"description": "Exact allowlisted ESMA reported-name filter"
},
"lei": {
"type": "string",
"pattern": "^[A-Z0-9]{20}$",
"description": "Checksum-valid exact LEI for ESMA filtering",
"consistency or monitoring": null
},
"status": {
"type": "string",
"maxLength": 160,
"description": "Exact allowlisted ESMA reported-status filter"
},
"register": {
"type": "string",
"enum": [
"sanctions",
"benchmarks",
"funds",
"entities"
],
"description": "ESMA register selected for a GLEIF consistency check"
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/account/open-source-research/query' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Bounded source observations with coverage
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Account lacks billing access
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/open-source-research/coverageRead source admission and organization retrieval coverage
API key or signed-in session
Returns each configured source dataset's admission state, source-native freshness policy, request/cache/check targets, and this organization's last observed status, attempt, successful retrieval, returned count, truncation state, bounded gap codes and provider-response hashes. Targets are operating policy, not contractual SLAs. Null remains unknown; an empty successful retrieval is distinct from failure. The response does not prove provider uptime or complete dataset coverage.
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/open-source-research/coverage' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Private organization source-coverage dashboard
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/open-source-research/reportBuild a signed report from selected SEC evidence and public-source observations
API key or signed-in session
Re-reads up to ten exact accessions under current issuer and indexed-history access and re-runs up to four admitted Public Source Desk queries. SEC and external sections retain independent dates, evidence, verification states, coverage and receipts. The returned HMAC-bound report can be frozen through the research-snapshot API by the same signed-in user.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
title | Yes | string · minLength: 1; maxLength: 120 | |
ticker | Yes | string · pattern: "^[A-Z0-9][A-Z0-9.-]{0,15}$" | |
accessions | Yes | array · maxItems: 10 | |
sourceQueries | Yes | array · maxItems: 4 |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"title",
"ticker",
"accessions",
"sourceQueries"
],
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"ticker": {
"type": "string",
"pattern": "^[A-Z0-9][A-Z0-9.-]{0,15}$"
},
"accessions": {
"type": "array",
"maxItems": 10,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^\\d{10}-\\d{2}-\\d{6}$"
}
},
"sourceQueries": {
"type": "array",
"maxItems": 4,
"items": {
"type": "object",
"additionalProperties": true,
"description": "One exact request accepted by /account/open-source-research/query"
}
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/account/open-source-research/report' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Signed source-separated report with exact content SHA-256
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 413
Representation exceeds the configured response-size limit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/open-source-research/edinet/downloadDownload one independently admitted EDINET document artifact
API key or signed-in session
The r93 route is deployed but remains unavailable without the separately admitted EDINET document scope. Requires authentication, intelligence:read, billing, an active v9 EDINET metadata and document-route admission, and explicit document-download approval. The server re-resolves the document from its submission date, checks provider status and artifact flags, caps the response at 30 MB, refuses redirects/unexpected types, and rechecks current access after retrieval. Response headers expose source retrieval time and SHA-256.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
date | Yes | string · format: "date" | |
documentId | Yes | string · pattern: "^S[A-Z0-9]{7}$" | |
artifact | Yes | string · one of: "filing", "pdf", "attachments", "english", "csv" |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"date",
"documentId",
"artifact"
],
"properties": {
"date": {
"type": "string",
"format": "date"
},
"documentId": {
"type": "string",
"pattern": "^S[A-Z0-9]{7}$"
},
"artifact": {
"type": "string",
"enum": [
"filing",
"pdf",
"attachments",
"english",
"csv"
]
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/account/open-source-research/edinet/download' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Exact bounded artifact with X-Source-Retrieved-At and X-Source-SHA256 headers
Response headers: X-Source-Retrieved-At, X-Source-SHA256.
Content type: application/pdf
Response schema
{
"type": "string",
"format": "binary"
}Content type: application/zip
Response schema
{
"type": "string",
"format": "binary"
}Content type: application/octet-stream
Response schema
{
"type": "string",
"format": "binary"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
Account lacks billing access
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Selected EDINET document or artifact is not currently retrievable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}Pilots (3)
GET /account/pilotsReturn the signed-in organization's private pilot ledger and aggregate
Signed-in website session · API keys are not accepted
Browser session required. The response measures paired task time, missed evidence, unsupported facts, and observed return use. It is not a public customer or product-performance claim.
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Organization-scoped private pilot portfolio
HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/pilots/{pilot_id}/observationsAppend one paired task and evidence/fact audit observation
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
pilot_id | path | Yes | string · format: "uuid" |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
observedAt | No | string · format: "date-time" | Defaults to server time; limited to the prior 90 days and five minutes into the future. |
eventType | Yes | string · minLength: 1; maxLength: 80 | |
issuerAlias | Yes | string · minLength: 1; maxLength: 80 | |
minutesWithoutFilingSift | Yes | number · maximum: 1440; exclusiveMinimum: 0 | |
minutesWithFilingSift | Yes | number · maximum: 1440; exclusiveMinimum: 0 | |
expectedEvidenceCount | Yes | integer · minimum: 0; maximum: 10000 | |
missedEvidenceCount | Yes | integer · minimum: 0; maximum: 10000 | |
assertedFactCount | Yes | integer · minimum: 0; maximum: 10000 | |
unsupportedFactCount | Yes | integer · minimum: 0; maximum: 10000 | |
accession | No | string · pattern: "^[0-9]{10}-[0-9]{2}-[0-9]{6}$" | |
filingUrl | No | string · format: "uri" | |
evidenceText | No | string · minLength: 1; maxLength: 2000 | |
verificationState | No | string · one of: "machine_checked", "human_verified", "rejected", "uncertain" | |
decisionRelevant | No | boolean | null | |
note | No | string · maxLength: 1000 |
Request schema
{
"type": "object",
"required": [
"eventType",
"issuerAlias",
"minutesWithoutFilingSift",
"minutesWithFilingSift",
"expectedEvidenceCount",
"missedEvidenceCount",
"assertedFactCount",
"unsupportedFactCount"
],
"properties": {
"observedAt": {
"type": "string",
"format": "date-time",
"description": "Defaults to server time; limited to the prior 90 days and five minutes into the future."
},
"eventType": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"issuerAlias": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"minutesWithoutFilingSift": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1440
},
"minutesWithFilingSift": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1440
},
"expectedEvidenceCount": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"missedEvidenceCount": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"assertedFactCount": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"unsupportedFactCount": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"accession": {
"type": "string",
"pattern": "^[0-9]{10}-[0-9]{2}-[0-9]{6}$"
},
"filingUrl": {
"type": "string",
"format": "uri"
},
"evidenceText": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"verificationState": {
"type": "string",
"enum": [
"machine_checked",
"human_verified",
"rejected",
"uncertain"
]
},
"decisionRelevant": {
"type": [
"boolean",
"null"
]
},
"note": {
"type": "string",
"maxLength": 1000
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Append-only observation recorded
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/pilots/enrollmentCheck enrollment in the private pilot-measurement workflow
Signed-in website session · API keys are not accepted
Required scopes: account:read. Account, role and source checks still apply.
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Organization enrollment status; does not enroll or activate a feature
HTTP 401
Authentication required
HTTP 403
Browser session required
Reference (8)
GET /account/reference-historyQuery stored historical reference records
API key or signed-in session
Requires API-key or browser-session authentication, intelligence:read and active billing access (including eligible Free accounts). Stored records only. Start/end are inclusive ISO dates, from 1900-01-01 through today, with at most 3660 days between endpoints. Fixed 100-record pages; no limit, offset or ticker parameter. Follow data.pagination.nextCursor with identical filters. A 409 reference_history_changed requires discarding the partial result and restarting without a cursor. Latest retrieved revisions, not historical publication-time data. Private queries enforce referenceHistoryDays; stored archive depth does not override account access. BIS queries must use the public route. Cache-Control: no-store. The three routes share a 20-request/minute action limit per organization (private) or IP (public), plus applicable platform limits.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
dataset | query | Yes | string · one of: "fdic_financials", "fdic_institutions", "ofr_repo", "ofr_stress", "gleif", "treasury_debt", "treasury_rates", "treasury_expense", "treasury_mspd" | |
startDate | query | Yes | string · format: "date" | |
endDate | query | Yes | string · format: "date" | |
entity | query | No | string · maxLength: 600 | Exact identifier from /entities. Omit to query all retained identifiers. This is not a ticker or CIK. |
cursor | query | No | string · maxLength: 2400 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/reference-history' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
--data-urlencode 'dataset=YOUR_DATASET' \
--data-urlencode 'startDate=YOUR_STARTDATE' \
--data-urlencode 'endDate=YOUR_ENDDATE'Responses
HTTP 200
Stored reference response with source and coverage information.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ReferenceHistoryQueryResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
reference_history_changed: accepted snapshot manifest changed or the cursor belongs to different filters. Restart the entire query.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/reference-history/catalogInspect historical reference dataset coverage
API key or signed-in session
Requires API-key or browser-session authentication, intelligence:read and active billing access (including eligible Free accounts). Returns dataset definitions and dataset-wide aggregate window counts, not individual windows or filtered earliest observations. Lists enabled datasets including BIS; use its public query route. Catalog visibility does not grant access to older private records. Cache-Control: no-store. The three routes share a 20-request/minute action limit per organization (private) or IP (public), plus applicable platform limits.
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/reference-history/catalog' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Stored reference response with source and coverage information.
Content type: application/json
ReferenceHistoryCatalogResponse
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ReferenceHistoryCatalogResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/reference-history/entitiesFind historical reference identifiers
API key or signed-in session
Requires API-key or browser-session authentication, intelligence:read and active billing access (including eligible Free accounts). Find exact source-native identifiers by dataset and optional search, with at most 30 matches. Narrow search when truncated; no cursor. FDIC financial identifiers are drawn from the current bank directory, so historical closed banks may be absent. Identifier discovery does not grant access to older private records. Cache-Control: no-store. The three routes share a 20-request/minute action limit per organization (private) or IP (public), plus applicable platform limits.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
dataset | query | Yes | string · one of: "fdic_financials", "fdic_institutions", "ofr_repo", "ofr_stress", "bis", "gleif", "treasury_debt", "treasury_rates", "treasury_expense", "treasury_mspd" | |
search | query | No | string · maxLength: 100 | Exact identifier or case-insensitive label substring. Omit for the first 30 identifiers. |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/account/reference-history/entities' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
--data-urlencode 'dataset=YOUR_DATASET'Responses
HTTP 200
Stored reference response with source and coverage information.
Content type: application/json
ReferenceHistoryEntitiesResponse
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ReferenceHistoryEntitiesResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 402
The requested paid plan lacks an active subscription entitlement
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reference/bis/historyQuery stored historical reference records
No API key required; supplied credentials can add restrictions
Free public BIS history, without credentials or paid metering. Stored records only. Start/end are inclusive ISO dates, from 1900-01-01 through today, with at most 3660 days between endpoints. Fixed 100-record pages; no limit, offset or ticker parameter. Follow data.pagination.nextCursor with identical filters. A 409 reference_history_changed requires discarding the partial result and restarting without a cursor. Latest retrieved revisions, not historical publication-time data. Dataset defaults to bis; no other dataset is accepted. Cache-Control: no-store. The three routes share a 20-request/minute action limit per organization (private) or IP (public), plus applicable platform limits.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
dataset | query | No | string · one of: "bis" | |
startDate | query | Yes | string · format: "date" | |
endDate | query | Yes | string · format: "date" | |
entity | query | No | string · maxLength: 600 | Exact identifier from /entities. Omit to query all retained identifiers. This is not a ticker or CIK. |
cursor | query | No | string · maxLength: 2400 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reference/bis/history' \
--data-urlencode 'startDate=YOUR_STARTDATE' \
--data-urlencode 'endDate=YOUR_ENDDATE'Responses
HTTP 200
Stored reference response with source and coverage information.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ReferenceHistoryQueryResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
reference_history_changed: accepted snapshot manifest changed or the cursor belongs to different filters. Restart the entire query.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reference/bis/history/catalogInspect historical reference dataset coverage
No API key required; supplied credentials can add restrictions
Free public BIS history, without credentials or paid metering. Returns dataset definitions and dataset-wide aggregate window counts, not individual windows or filtered earliest observations. Only BIS is returned. Cache-Control: no-store. The three routes share a 20-request/minute action limit per organization (private) or IP (public), plus applicable platform limits.
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reference/bis/history/catalog'Responses
HTTP 200
Stored reference response with source and coverage information.
Content type: application/json
ReferenceHistoryCatalogResponse
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ReferenceHistoryCatalogResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reference/bis/history/entitiesFind historical reference identifiers
No API key required; supplied credentials can add restrictions
Free public BIS history, without credentials or paid metering. Find exact source-native identifiers by dataset and optional search, with at most 30 matches. Narrow search when truncated; no cursor. FDIC financial identifiers are drawn from the current bank directory, so historical closed banks may be absent. dataset=bis is required here. Cache-Control: no-store. The three routes share a 20-request/minute action limit per organization (private) or IP (public), plus applicable platform limits.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
dataset | query | Yes | string · one of: "bis" | |
search | query | No | string · maxLength: 100 | Exact identifier or case-insensitive label substring. Omit for the first 30 identifiers. |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reference/bis/history/entities' \
--data-urlencode 'dataset=YOUR_DATASET'Responses
HTTP 200
Stored reference response with source and coverage information.
Content type: application/json
ReferenceHistoryEntitiesResponse
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/ReferenceHistoryEntitiesResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reference/bis/creditRetrieve the compatible public BIS credit and debt-service context
No API key required; supplied credentials can add restrictions
Free and unmetered. r93 retains this original two-series, one-country route for compatibility; use /reference/bis/compare for the deployed six-dataflow, 42-reference-area contract and one-to-four-country comparisons. One to 20 completed quarters and abuse limits apply.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
country | query | Yes | string · minLength: 2; maxLength: 2 | |
startQuarter | query | Yes | string · pattern: "^(19|20)[0-9]{2}-Q[1-4]$" | |
endQuarter | query | Yes | string · pattern: "^(19|20)[0-9]{2}-Q[1-4]$" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reference/bis/credit' \
--data-urlencode 'country=YOUR_COUNTRY' \
--data-urlencode 'startQuarter=YOUR_STARTQUARTER' \
--data-urlencode 'endQuarter=YOUR_ENDQUARTER'Responses
HTTP 200
Free public BIS credit-to-GDP and debt-service response with source receipts
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /reference/bis/compareCompare one exact BIS dataset and sector across one to four countries
No API key required; supplied credentials can add restrictions
Free and unmetered. Select up to four of 42 supported areas, one measure and up to 20 completed quarters from 1970 onward. Actual inception varies; debt-service ratios start no earlier than 1999. Responses retain missing/confidential states, source receipts, and a dataset-specific comparability warning; country ranking is prohibited.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
dataset | query | Yes | string · one of: "total_credit", "debt_service", "credit_gap", "property_price", "debt_securities", "foreign_exchange" | |
sector | query | Yes | string · one of: "P", "N", "H", "G", "ALL", "REAL", "S1", "S11", "S12", "S13" | Must be compatible with the selected dataset. Property-price ALL is nominal; REAL is CPI-deflated, both indexed to 2010=100. |
countries | query | Yes | string · pattern: "^[A-Z0-9]{2}(,[A-Z0-9]{2}){0,3}$" | One to four distinct comma-separated supported reference-area codes. |
startQuarter | query | Yes | string · pattern: "^(19|20)[0-9]{2}-Q[1-4]$" | |
endQuarter | query | Yes | string · pattern: "^(19|20)[0-9]{2}-Q[1-4]$" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/reference/bis/compare' \
--data-urlencode 'dataset=YOUR_DATASET' \
--data-urlencode 'sector=YOUR_SECTOR' \
--data-urlencode 'countries=YOUR_COUNTRIES' \
--data-urlencode 'startQuarter=YOUR_STARTQUARTER' \
--data-urlencode 'endQuarter=YOUR_ENDQUARTER'Responses
HTTP 200
One exact series definition per selected country with warnings
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}Search (21)
GET /search/vocabularyList supported search filters, synonyms, screens, and matrix metrics
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/search/vocabulary'Responses
HTTP 200
Search vocabulary
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /searchSearch indexed filing and material-exhibit passages
No API key required; supplied credentials can add restrictions
Supports Boolean, quoted phrase, NEAR/1-20 proximity, bounded wildcard, and financing-aware synonym queries. Results retain accession, SEC URL, exact evidence snippet, locator, hash, and verification state.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
query | Yes | string · minLength: 1; maxLength: 500 | |
useSynonyms | No | boolean · default: true | |
limit | No | integer · minimum: 1; maximum: 100; default: 20 | |
filters | No | object |
Request schema
{
"$ref": "#/components/schemas/SearchRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/search' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Bounded evidence-backed results
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /search/market/vocabularyList market search filters, universes, sections, and screens
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/search/market/vocabulary'Responses
HTTP 200
Market search vocabulary
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}GET /catalog/filingsFilter source-observed SEC filing metadata without extracting every document
API key or signed-in session
Authenticated read-only catalog of supported SEC filing metadata. Requires search:read, billing entitlement, and applies the organization's history start. Every row retains accession, SEC filing URLs, the exact master-index evidence line, source-index URL and source-observed verification state. Quarterly population runs independently from document extraction. Every returned accession/CIK association has exactly one coverage state: indexed, extracted, pending, failed, unsupported, or policy_excluded, plus a reason. A current zero-passage search checkpoint remains indexed and is reported separately from missing or stale indexing. The response also includes the latest full-catalog reconciliation receipt; its accepted state and reason counts must equal the completed-import association denominator. Catalog completeness is based on exact completed/running/failed/missing quarter reconciliation and the current SEC admission version. Follow the opaque keyset cursor with unchanged filters. Results are private and no-store.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ticker | query | No | string · maxLength: 16 | |
cik | query | No | string · pattern: "^\\d{1,10}$" | |
forms | query | No | string | Comma-separated supported SEC forms; at most 20 |
filed_from | query | No | string · format: "date" | |
filed_to | query | No | string · format: "date" | |
limit | query | No | integer · minimum: 1; maximum: 100; default: 50 | |
cursor | query | No | string |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/catalog/filings' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Source-observed filing metadata, import completeness, limitations, and continuation
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /search/marketSearch indexed SEC filing and selected material-exhibit passages without a watchlist
No API key required; supplied credentials can add restrictions
Deployed route. Public requests are allowed; supplied credentials require search:read and billing access and allow all available indexed history across plans. PostgreSQL reads at most 500 candidate passages plus one lookahead and returns at most 100 results; other stores retain a 25000-passage logical ceiling. An empty page can still carry a continuation cursor. Follow data.pagination.nextCursor with unchanged normalized filters. data.coverageReceipt records observed inventory, inspected execution, gap samples, bounds and hashes. The expected SEC denominator is unknown. PostgreSQL reads each request consistently, but pages are not a frozen edition. Unprocessed filings and nonindexed attachments are outside coverage; an empty match set is not proof of an absent disclosure.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
query | Yes | string · minLength: 1; maxLength: 500 | |
useSynonyms | No | boolean · default: true | |
limit | No | integer · minimum: 1; maximum: 100; default: 20 | |
cursor | No | string | null | |
format | No | string · default: "csv"; one of: "csv", "ndjson", "json" | Used by the market-search export endpoint only |
filters | No | object | Market filters have their own normalized bounds, distinct from the legacy SearchFilters contract |
Request schema
{
"$ref": "#/components/schemas/MarketSearchRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/search/market' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Cursor-paginated source-linked market results and a query-specific coverage receipt
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/MarketResearchResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /search/market/exportExport one cursor chunk as CSV, NDJSON, or a JSON coverage bundle
No API key required; supplied credentials can add restrictions
Deployed bounded receipt support follows the same optional authentication and history policy as market search. Exports at most 100 rows; each export performs a new search, not a replay of a prior result. CSV/NDJSON row columns are unchanged and carry a compact coverage summary in headers. JSON directly returns rows, the full coverageReceipt and pagination plus schemaVersion and rowsSha256 without a data/meta envelope. The row hash covers flattened export records; coverageReceipt.resultSha256 instead identifies the full search results.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
query | Yes | string · minLength: 1; maxLength: 500 | |
useSynonyms | No | boolean · default: true | |
limit | No | integer · minimum: 1; maximum: 100; default: 20 | |
cursor | No | string | null | |
format | No | string · default: "csv"; one of: "csv", "ndjson", "json" | Used by the market-search export endpoint only |
filters | No | object | Market filters have their own normalized bounds, distinct from the legacy SearchFilters contract |
Request schema
{
"$ref": "#/components/schemas/MarketSearchRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/search/market/export' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Cursor-chunked export with observed coverage metadata; no complete SEC denominator or pinned cross-page edition
Response headers: X-Next-Cursor, X-Export-Row-Count, X-Export-Truncated, X-Coverage-Receipt, X-Coverage-Receipt-SHA256.
Content type: text/csv
Response schema
{
"type": "string"
}Content type: application/x-ndjson
Response schema
{
"type": "string"
}Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
schemaVersion | Yes | string · const: "filingsift-market-search-export-v1" | |
rowsSha256 | Yes | string · pattern: "^[a-f0-9]{64}$" | SHA-256 of the exported row array using recursively sorted object keys and preserved array order |
rows | Yes | array · maxItems: 100 | Existing export columns accession, filed_at, form, cik, ticker, filer, section_topic, title, evidence_text, source_url, source_locator and verification_state |
coverageReceipt | Yes | object | Deployed market search/screen receipt. This is evidence of observed inventory and bounded execution, not complete SEC coverage, semantic recall, fact absence, human verification or historical replay. Canonical hashing recursively sorts object keys and preserves array order; receiptSha256 hashes this object with receiptSha256 omitted. |
pagination | Yes | object |
Response schema
{
"$ref": "#/components/schemas/MarketSearchExportBundle"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /search/similar-clausesFind deterministically similar indexed clauses
No API key required; supplied credentials can add restrictions
Optional credentials require search:read and billing access and apply account history. Jaccard token similarity is a language-overlap measure, not a legal or financial equivalence conclusion.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
accession | Yes | string | |
passageId | Yes | string | |
mode | No | string · default: "clause"; one of: "clause", "document_template" | |
minimumSimilarity | No | number · minimum: 0.2; maximum: 1 | |
sameSectionTopic | No | boolean | |
sameDocumentType | No | boolean | |
limit | No | integer · minimum: 1; maximum: 100 |
Request schema
{
"type": "object",
"required": [
"accession",
"passageId"
],
"properties": {
"accession": {
"type": "string"
},
"passageId": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"clause",
"document_template"
],
"default": "clause"
},
"minimumSimilarity": {
"type": "number",
"minimum": 0.2,
"maximum": 1
},
"sameSectionTopic": {
"type": "boolean"
},
"sameDocumentType": {
"type": "boolean"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/search/similar-clauses' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Similar passages with exact SEC provenance
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}GET /search/market/coverageGet market search index coverage and freshness
No API key required; supplied credentials can add restrictions
Public aggregate index coverage. Supplied credentials require search:read and billing access; this aggregate is not narrowed to watched issuers.
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/search/market/coverage'Responses
HTTP 200
Filing and passage coverage
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}POST /reader/filings/{accession}/searchSearch one indexed filing and its material exhibits
No API key required; supplied credentials can add restrictions
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | path | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
accession | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
query | Yes | string · minLength: 1; maxLength: 500 | |
useSynonyms | No | boolean · default: true | |
limit | No | integer · minimum: 1; maximum: 100; default: 20 | |
filters | No | object |
Request schema
{
"$ref": "#/components/schemas/SearchRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/reader/filings/YOUR_ACCESSION/search' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Bounded evidence-backed results within one accession
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /screens/marketRun registration, offering, ownership, governance, or auditor-change screens
No API key required; supplied credentials can add restrictions
Deployed route. Public requests are allowed; supplied credentials require search:read and billing access and apply account history. Results carry the same observed-only coverage receipt as market search. Inventory is scoped before screen inclusion and passage filters; no match does not establish that the issuer has no such event. Receipt support does not extend to financing screens, matrices, similarity or peer groups.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
kind | No | string · const: "market" | |
screen | Yes | string · one of: "registration", "offering", "ownership", "governance", "auditor_change" | |
query | No | string · minLength: 1; maxLength: 500 | |
useSynonyms | No | boolean · default: true | |
limit | No | integer · minimum: 1; maximum: 100; default: 20 | |
cursor | No | string | null | |
filters | No | object | Market filters have their own normalized bounds, distinct from the legacy SearchFilters contract |
Request schema
{
"$ref": "#/components/schemas/MarketScreenRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/screens/market' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Source-linked deterministic screen matches and coverage receipt
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/MarketResearchResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /screens/peer-groupsBuild mechanical SIC and exchange peer groups
No API key required; supplied credentials can add restrictions
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
sicPrefix | No | string | SIC prefix used to select mechanical peers. |
exchange | No | string |
Request schema
{
"type": "object",
"properties": {
"sicPrefix": {
"type": "string",
"description": "SIC prefix used to select mechanical peers."
},
"exchange": {
"type": "string"
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/screens/peer-groups' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Reusable peer groups
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}POST /screens/financingScreen latest eligible issuer filings for financing facts or events
No API key required; supplied credentials can add restrictions
Ticker, form, filed-date and verification filters are enforced. Verification applies to each returned fact or signal rather than only the filing aggregate. Numeric bounds apply to maturityYear for the maturity screen; otherwise they apply only to a retained numeric value, threshold or ratio and exclude nonnumeric signals. Market-search event filters are not accepted by this operation.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
screen | Yes | string · one of: "lifecycle", "maturity", "liquidity", "availability", "covenant", "default" | |
limit | No | integer · minimum: 1; maximum: 100; default: 50 | |
filters | No | object |
Request schema
{
"$ref": "#/components/schemas/FinancingScreenRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/screens/financing' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Evidence-backed lifecycle
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /screens/comparison-matrixCompare selected financing metrics across at most 20 issuers
No API key required; supplied credentials can add restrictions
For each issuer, selects the latest form/date-eligible filing containing at least one requested metric at the requested evidence-validation state. The validation filter applies to metric evidence rather than only the filing aggregate. Missing cells are returned as unavailable with null value and never coerced to zero.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
tickers | Yes | array · minItems: 1; maxItems: 20 | |
metrics | Yes | array · minItems: 1; maxItems: 10 | |
filters | No | object |
Request schema
{
"$ref": "#/components/schemas/ComparisonMatrixRequest"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/screens/comparison-matrix' \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Evidence-backed issuer-by-metric matrix
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/saved-searchesList the signed-in user's personal saved searches
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Personal saved searches
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/saved-searchesCreate a personal saved search and optional Monitoring email alert
Signed-in website session · API keys are not accepted
Browser session required. Organizations may maintain at most 50 saved searches and screens combined, enforced atomically.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
Request schema
{
"$ref": "#/components/schemas/SavedSearchCreateRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Saved search created
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}PATCH /account/saved-searches/{savedSearchId}Update a personal saved search
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
savedSearchId | path | Yes | string · format: "uuid" |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
name | No | string · minLength: 1; maxLength: 120 | |
query | No | string · minLength: 1; maxLength: 500 | |
useSynonyms | No | boolean | |
filters | No | object | |
alertEnabled | No | boolean | |
visibility | No | string · one of: "personal", "team" |
Request schema
{
"$ref": "#/components/schemas/SavedSearchUpdateRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Saved search updated
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/saved-searches/{savedSearchId}Delete a personal saved search
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
savedSearchId | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Saved search deleted
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/saved-screensList personal and team-visible saved financing screens
Signed-in website session · API keys are not accepted
Browser session required.
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Saved financing screens
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/saved-screensSave a financing screen for repeatable research
Signed-in website session · API keys are not accepted
Browser session required. The atomic organization limit is 50 saved searches and screens combined. Saved-screen alerts are opt-in and go to the creator for newly indexed matches after saving. Organization Monitoring must be enabled; its delivery schedule and quiet hours apply.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
name | Yes | string · minLength: 1; maxLength: 120 | |
request | Yes | oneOf | |
alertEnabled | No | boolean · default: false | Opt in to creator-only alerts for newly indexed matching filings; requires enabled organization Monitoring. |
visibility | No | string · default: "personal"; one of: "personal", "team" |
Request schema
{
"$ref": "#/components/schemas/SavedScreenCreateRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Saved screen created
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}PATCH /account/saved-screens/{savedScreenId}Update a creator-owned saved financing screen
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
savedScreenId | path | Yes | string · format: "uuid" |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
name | No | string · minLength: 1; maxLength: 120 | |
request | No | oneOf | |
alertEnabled | No | boolean | Enable or disable prospective saved-screen alerts. Editing or disabling a screen suppresses queued alerts from its previous revision. |
visibility | No | string · one of: "personal", "team" |
Request schema
{
"$ref": "#/components/schemas/SavedScreenUpdateRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Saved screen updated
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/saved-screens/{savedScreenId}Delete a creator-owned saved financing screen
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
savedScreenId | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Saved screen deleted
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}SEC Datasets (8)
GET /sec-datasets/history-coverageReconcile company filing coverage by form and year
API key or signed-in session
Required scopes: search:read. Account, role and source checks still apply.
Authenticated search-read access. Counts use retained SEC master-index accession/CIK associations; absent combinations do not prove no filings existed.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
cik | query | Yes | string · pattern: "^[0-9]{1,10}$" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/sec-datasets/history-coverage' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
--data-urlencode 'cik=YOUR_CIK'Responses
HTTP 200
Source-index counts grouped by extraction and search-index state
HTTP 401
Authentication required
HTTP 402
Current account billing access required
HTTP 403
Required scope or resource access denied
HTTP 429
Request or dataset query limit reached
POST /sec-datasets/research/filingRead structured observations from an exact source filing
API key or signed-in session
Required scopes: search:read. Account, role and source checks still apply.
Requires dataset, cik, accession and sourceSha256. Source values and evidence are retained. Partial source status is explicit; large selections are refused rather than silently truncated.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
dataset | Yes | string | Use an identifier returned by /sec-datasets/catalog. |
cik | Yes | string · pattern: "^[0-9]{1,10}$" | |
accession | Yes | string | |
sourceSha256 | Yes | string · pattern: "^[a-f0-9]{64}$" | Copy the exact retained source version from the selected source record. |
Request schema
{
"$ref": "#/components/schemas/SecSourceSelection"
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/sec-datasets/research/filing' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Source metadata
HTTP 401
Authentication required
HTTP 402
Current account billing access required
HTTP 403
Required scope or resource access denied
HTTP 413
Selection or response exceeds the interactive limit
HTTP 429
Request or dataset query limit reached
POST /sec-datasets/research/compareCompare two explicit fund, institutional or offering disclosures
API key or signed-in session
Required scopes: search:read. Account, role and source checks still apply.
Authenticated search-read access. Both source selections require dataset, cik, accession and sourceSha256. Mode is changes or overlap. Partial imports, ambiguous security identities and unlinked amendments suppress comparisons. Missing positions do not become zero.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
left | Yes | object | |
right | Yes | object | |
mode | No | string · default: "changes"; one of: "changes", "overlap" |
Request schema
{
"type": "object",
"required": [
"left",
"right"
],
"properties": {
"left": {
"$ref": "#/components/schemas/SecSourceSelection"
},
"right": {
"$ref": "#/components/schemas/SecSourceSelection"
},
"mode": {
"type": "string",
"enum": [
"changes",
"overlap"
],
"default": "changes"
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/sec-datasets/research/compare' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Source-linked differences or explicit comparison issues
HTTP 401
Authentication required
HTTP 402
Current account billing access required
HTTP 403
Required scope or resource access denied
HTTP 413
Selection or response exceeds the interactive limit
HTTP 429
Request or dataset query limit reached
POST /sec-datasets/research/disclosuresCompare two explicitly selected financial source rows
API key or signed-in session
Required scopes: search:read. Account, role and source checks still apply.
Each left/right selection supplies dataset, cik, accession, sourceSha256 and recordKey. Exact differences require matching concept, taxonomy, unit, issuer, duration and dimensions. Same-period conflicts have no winning value.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
left | Yes | schema | |
right | Yes | schema |
Request schema
{
"type": "object",
"required": [
"left",
"right"
],
"properties": {
"left": {
"$ref": "#/components/schemas/SecDisclosureSelection"
},
"right": {
"$ref": "#/components/schemas/SecDisclosureSelection"
}
}
}Create request.json using the request fields below. Replace YOUR_… with identifiers from your available records. Check the operation description before sending: writes can change your workspace or trigger delivery. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --request POST 'https://api.filingsift.com/api/v1/sec-datasets/research/disclosures' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
-H 'Content-Type: application/json' \
--data @request.jsonResponses
HTTP 200
Selected disclosures
HTTP 401
Authentication required
HTTP 402
Current account billing access required
HTTP 403
Required scope or resource access denied
HTTP 404
Selected source row not found
HTTP 429
Request or dataset query limit reached
GET /sec-datasets/supplements/catalogList supplemental SEC source families and import states
API key or signed-in session
Required scopes: search:read. Account, role and source checks still apply.
Requires authentication, search read scope and billing access. Counts include explicit holds and gaps.
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/sec-datasets/supplements/catalog' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Source families and partial coverage
HTTP 401
Authentication required
HTTP 402
Current account billing access required
HTTP 403
Required scope or resource access denied
HTTP 429
Request or dataset query limit reached
GET /sec-datasets/supplements/recordsSearch supplemental SEC source evidence
API key or signed-in session
Required scopes: search:read. Account, role and source checks still apply.
Requires authentication, search read scope and billing access. Enter a CIK or at least three search characters. Returns up to 25 passages or source rows, with source URL, hash, version, locator and source_reported_unverified state. EDGAR records retain accession and CIK; adviser snapshots retain null when those identifiers are not supplied. Text search matches all words within one passage. Coverage is partial; no inferred ownership or completed-sale claims. Cursor binds filters and import watermark.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
family | query | Yes | string · one of: "comment_letters", "form_144", "subsidiary_exhibits", "adviser_history" | |
cik | query | No | string · pattern: "^[0-9]{1,10}$" | |
q | query | No | string · maxLength: 200 | |
cursor | query | No | string · maxLength: 800 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/sec-datasets/supplements/records' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
--data-urlencode 'family=YOUR_FAMILY'Responses
HTTP 200
Source evidence
HTTP 400
Invalid filters or cursor
HTTP 401
Authentication required
HTTP 402
Current account billing access required
HTTP 403
Required scope or resource access denied
HTTP 429
Request or dataset query limit reached
GET /sec-datasets/catalogList SEC bulk datasets and partial import coverage
API key or signed-in session
Required scopes: search:read. Account, role and source checks still apply.
Requires authentication and search read scope. Source rows are separate from verified XBRL facts and corporate-event totals.
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/sec-datasets/catalog' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY"Responses
HTTP 200
Dataset names and counts by import state
HTTP 401
Authentication required
HTTP 402
Current account billing access required
HTTP 403
Required scope or resource access denied
HTTP 429
Request or dataset query limit reached
GET /sec-datasets/recordsRetrieve imported SEC source rows for a CIK
API key or signed-in session
Required scopes: search:read. Account, role and source checks still apply.
Returns up to 50 records and a bounded response with original source text, filing accession and URL, exact archive hash, source row locator, related definitions and source_reported_unverified state. Numeric values retain their original strings and units; blanks remain null. Coverage is partial. Do not sum overlapping filings or snapshots. Database cursors bind filters and an import watermark; opaque archive cursors bind exact source filters. Requires authentication and search read scope.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
dataset | query | Yes | string · one of: "financial_statement_notes", "insider_transactions", "institutional_holdings", "fund_portfolios", "private_offerings" | |
cik | query | Yes | string · pattern: "^[0-9]{1,10}$" | |
table | query | No | string · maxLength: 80 | |
accession | query | No | string · pattern: "^[0-9]{10}-[0-9]{2}-[0-9]{6}$" | |
cursor | query | No | string · maxLength: 800 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/sec-datasets/records' \
-H "Authorization: Bearer $FILINGSIFT_API_KEY" \
--data-urlencode 'dataset=YOUR_DATASET' \
--data-urlencode 'cik=YOUR_CIK'Responses
HTTP 200
Source records
HTTP 400
Invalid filters or cursor
HTTP 401
Authentication required
HTTP 402
Current account billing access required
HTTP 403
Required scope or resource access denied
HTTP 422
Source row exceeds response bound; original source links are returned
HTTP 429
Request or dataset query limit reached
Security (12)
POST /auth/mfa/verifyComplete a password-authenticated login with TOTP or a verified passkey
First-party account flow · follow the website instructions
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
challengeToken | Yes | string | |
totpCode | No | string · pattern: "^[0-9]{6}$" | |
passkeyResponse | No | object |
Request schema
{
"type": "object",
"required": [
"challengeToken"
],
"properties": {
"challengeToken": {
"type": "string"
},
"totpCode": {
"type": "string",
"pattern": "^[0-9]{6}$"
},
"passkeyResponse": {
"type": "object",
"additionalProperties": true
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Browser session created
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/securityList TOTP status and registered passkeys
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Security-factor inventory
POST /account/security/totpBegin encrypted TOTP enrollment and return the secret once
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Pending TOTP setup
DELETE /account/security/totpDisable TOTP after verifying a fresh code
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
TOTP disabled
POST /account/security/totp/verifyVerify and activate a pending TOTP factor
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
code | Yes | string · pattern: "^[0-9]{6}$" |
Request schema
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"pattern": "^[0-9]{6}$"
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
TOTP enabled
POST /account/security/reauth/optionsConfirm the current password for one passkey change
Signed-in website session · API keys are not accepted
Browser session and cookie CSRF protections apply. If a factor is enrolled, returns an existing-factor MFA challenge instead of a grant. Confirmation is bound to the user, organization, current session, selected action, target passkey, and credential state; expires five minutes after password confirmation.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
currentPassword | Yes | string · maxLength: 128 | |
action | Yes | string · one of: "passkey_add", "passkey_remove" | |
passkeyId | No | string · format: "uuid" | Required when action is passkey_remove |
Request schema
{
"type": "object",
"required": [
"currentPassword",
"action"
],
"properties": {
"currentPassword": {
"type": "string",
"maxLength": 128,
"writeOnly": true
},
"action": {
"type": "string",
"enum": [
"passkey_add",
"passkey_remove"
]
},
"passkeyId": {
"type": "string",
"format": "uuid",
"description": "Required when action is passkey_remove"
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Envelope containing one-time reauthToken and expiresAt when no MFA factor is enrolled
HTTP 202
Envelope containing required true
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Incorrect password or changed account security state
HTTP 403
Browser session or exact-origin CSRF protection required
HTTP 429
Authentication or credential-change rate limit reached
POST /account/security/reauth/verifyProve an existing factor before changing passkeys
Signed-in website session · API keys are not accepted
Accepts only a reauthentication challenge from the current browser session, never a login challenge. Does not create a login session. Submit either a fresh authenticator code or an existing passkey assertion.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
challengeToken | Yes | string | |
totpCode | No | string · pattern: "^[0-9]{6}$" | |
passkeyResponse | No | object |
Request schema
{
"type": "object",
"required": [
"challengeToken"
],
"properties": {
"challengeToken": {
"type": "string"
},
"totpCode": {
"type": "string",
"pattern": "^[0-9]{6}$"
},
"passkeyResponse": {
"type": "object",
"additionalProperties": true
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Envelope containing one-time reauthToken and expiresAt
HTTP 400
Invalid
HTTP 401
Incorrect factor
HTTP 403
Browser session or exact-origin CSRF protection required
HTTP 429
Authentication or credential-change rate limit reached
POST /account/security/passkeys/optionsConsume fresh confirmation to create a session-bound WebAuthn registration challenge
Signed-in website session · API keys are not accepted
Requires an unused passkey_add reauthToken from the same session. The challenge retains the confirmation deadline and becomes unusable after password reset/change or session revocation.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
reauthToken | Yes | string |
Request schema
{
"type": "object",
"required": [
"reauthToken"
],
"properties": {
"reauthToken": {
"type": "string",
"writeOnly": true
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
WebAuthn creation options
HTTP 401
Fresh confirmation required or account security changed
POST /account/security/passkeysVerify and store a passkey public credential
Signed-in website session · API keys are not accepted
Requires an unused registration challenge created by this session after fresh confirmation. Rechecks credential and session state atomically with registration.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
response | Yes | object | |
displayName | No | string · maxLength: 120 |
Request schema
{
"type": "object",
"required": [
"response"
],
"properties": {
"response": {
"type": "object",
"additionalProperties": true
},
"displayName": {
"type": "string",
"maxLength": 120
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Passkey registered
HTTP 400
Invalid or expired registration challenge
HTTP 401
Fresh confirmation required or account security changed
DELETE /account/security/passkeys/{passkeyId}Remove a user-owned passkey after fresh confirmation
Signed-in website session · API keys are not accepted
Requires an unused passkey_remove reauthToken bound to this exact passkey and session. An existing factor is required when enrolled, including when removing the last passkey.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
passkeyId | path | Yes | string · format: "uuid" |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
reauthToken | Yes | string |
Request schema
{
"type": "object",
"required": [
"reauthToken"
],
"properties": {
"reauthToken": {
"type": "string",
"writeOnly": true
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 204
Passkey removed
HTTP 401
Fresh confirmation required or account security changed
GET /account/sessionsList active browser sessions and identify the current session
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Active session inventory
DELETE /account/sessions/{sessionId}Remotely revoke another active browser session
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
sessionId | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Session revoked
HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}Team (9)
POST /team/invitations/acceptConsume a single-use invitation and create a session in the invited organization
First-party account flow · follow the website instructions
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
token | Yes | string | |
displayName | Yes | string · maxLength: 120 | |
password | Yes | string · minLength: 12; maxLength: 128 |
Request schema
{
"type": "object",
"required": [
"token",
"displayName",
"password"
],
"properties": {
"token": {
"type": "string"
},
"displayName": {
"type": "string",
"maxLength": 120
},
"password": {
"type": "string",
"minLength": 12,
"maxLength": 128
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Invitation accepted and browser session created
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/teamGet team policy, invitations, review queue, and usage forecast
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Team workspace state
HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}PATCH /account/team/settingsConfigure allowed email domains and usage-alert thresholds
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
allowedEmailDomains | No | array · maxItems: 20 | |
usageAlertThresholds | No | array · minItems: 1; maxItems: 10 |
Request schema
{
"type": "object",
"properties": {
"allowedEmailDomains": {
"type": "array",
"maxItems": 20,
"items": {
"type": "string"
}
},
"usageAlertThresholds": {
"type": "array",
"minItems": 1,
"maxItems": 10,
"items": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Team policy updated
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/team/invitationsSend a domain-checked single-use member invitation
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
email | Yes | string · format: "email" | |
role | Yes | string · one of: "owner", "admin", "member", "viewer" |
Request schema
{
"type": "object",
"required": [
"email",
"role"
],
"properties": {
"email": {
"type": "string",
"format": "email"
},
"role": {
"$ref": "#/components/schemas/MembershipRole"
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Invitation stored and email delivered
HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /account/team/invitations/{invitationId}Revoke a pending invitation
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
invitationId | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Invitation revoked
HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/team/reviewsCreate a filing review assignment
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
accession | Yes | string | |
title | Yes | string · maxLength: 200 | |
assignedUserId | No | string | null · format: "uuid" |
Request schema
{
"type": "object",
"required": [
"accession",
"title"
],
"properties": {
"accession": {
"type": "string"
},
"title": {
"type": "string",
"maxLength": 200
},
"assignedUserId": {
"type": [
"string",
"null"
],
"format": "uuid"
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Review task created
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/team/reviews/{reviewId}/versionsAppend an immutable review disposition version
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
reviewId | path | Yes | string · format: "uuid" |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
status | No | string · default: "open"; one of: "open", "in_review", "changes_requested", "closed" | |
note | No | string · maxLength: 4000 | |
evidence | No | object | Workflow evidence; does not change the filing verification state. |
Request schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"open",
"in_review",
"changes_requested",
"closed"
],
"default": "open"
},
"note": {
"type": "string",
"maxLength": 4000
},
"evidence": {
"type": "object",
"description": "Workflow evidence; does not change the filing verification state."
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Review version appended
HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/team/reviews/{reviewId}/historyList immutable review versions
Signed-in website session · API keys are not accepted
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
reviewId | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Ordered review version history
HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/audit/exportExport canonical append-only NDJSON with SHA-256 checksum headers
Signed-in website session · API keys are not accepted
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Immutable audit export
Content type: application/x-ndjson
Response schema
{
"type": "string"
}XBRL (13)
GET /xbrl/footnotes/catalogSelected structured footnote definitions
No API key required; supplied credentials can add restrictions
39 exact US GAAP fields across leases, income taxes and warranties. This versioned catalog is separate from the standard financial concept registry.
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/xbrl/footnotes/catalog'Responses
HTTP 200
Selected structured footnote definitions
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/FootnoteCatalogResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /xbrl/footnotesSource-linked footnote records for one retained filing
No API key required; supplied credentials can add restrictions
Public bounded read. Filters local concept names before pagination, flags unsupported namespaces, and retains all contexts and vintages. Follow data.pagination.nextCursor with the same accession/category. Pages are not a fixed snapshot. Missing selected facts return an empty records array; no retained package returns 404. No bulk download or new storage is needed.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | query | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
category | query | Yes | string · one of: "leases", "income_taxes", "warranties" | |
cursor | query | No | string · pattern: "^[a-f0-9]{64}$" | |
limit | query | No | integer · minimum: 1; maximum: 100; default: 100 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/xbrl/footnotes' \
--data-urlencode 'accession=YOUR_ACCESSION' \
--data-urlencode 'category=YOUR_CATEGORY'Responses
HTTP 200
Source-linked footnote records for one retained filing
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/FootnotePageResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /xbrl/footnotes/compareCompare two explicitly selected footnote observations
No API key required; supplied credentials can add restrictions
Each fact ID must belong to its supplied accession and category. Arithmetic requires the same metric, issuer, entity scheme, taxonomy namespace, semantic unit, consolidated scope, supported precision, complete provenance and checked verification. Different periods must be chronological and non-overlapping; duration lengths must match exactly. Same-period value disagreements remain unresolved. Difference is right minus left, as exact reported decimal text, subject to source rounding. Tax rates and their differences remain fractions. No winning fact, currency conversion or automatic reconciliation.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
category | query | Yes | string · one of: "leases", "income_taxes", "warranties" | |
left_accession | query | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
right_accession | query | Yes | string · pattern: "^\\d{10}-\\d{2}-\\d{6}$" | |
left_fact_id | query | Yes | string · pattern: "^[a-f0-9]{64}$" | |
right_fact_id | query | Yes | string · pattern: "^[a-f0-9]{64}$" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/xbrl/footnotes/compare' \
--data-urlencode 'category=YOUR_CATEGORY' \
--data-urlencode 'left_accession=YOUR_LEFT_ACCESSION' \
--data-urlencode 'right_accession=YOUR_RIGHT_ACCESSION' \
--data-urlencode 'left_fact_id=YOUR_LEFT_FACT_ID' \
--data-urlencode 'right_fact_id=YOUR_RIGHT_FACT_ID'Responses
HTTP 200
Compare two explicitly selected footnote observations
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/FootnoteComparisonResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /xbrl/mappingsGet the versioned transparent standard-concept mapping registry
No API key required; supplied credentials can add restrictions
Public registry of 44 standard concepts (filingsift-xbrl-concepts-v4). Eighteen unit-constrained US GAAP mappings require compatible namespace, period and units. Eight v4 additions map retained facts on read; source-concept candidates with invalid metadata remain conflicts, count toward pagination and retain original mapping metadata. EPS, weighted shares and declared dividends per share use reported quarters only. Issuer extensions remain unmapped; this is not a complete normalized taxonomy.
No path or query parameters are specified for this operation.
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/xbrl/mappings'Responses
HTTP 200
Mapping registry
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/XbrlMappingRegistryResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /xbrl/factsList raw XBRL facts with source context IDs, parsed contexts, and units
No API key required; supplied credentials can add restrictions
Public fact-ID pagination in meta.pagination. Reuse nextCursor as cursor; it is not a filter-bound snapshot cursor. Contexts retain parsed entity, period, dimensions, and a scenario-present flag, not arbitrary scenario XML. Shared query-cost and response-size limits also apply, so the route maximum of 500 may exceed the configured request budget.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
cik | query | No | string · pattern: "^[0-9]{1,10}$" | |
accession | query | No | string | |
concept | query | No | string | |
standard_concept | query | No | string | |
period_end | query | No | string · format: "date" | |
dimension_kind | query | No | string · one of: "segment", "geography", "product", "legal_entity", "other" | |
cursor | query | No | string · pattern: "^[0-9a-f]{64}$" | |
limit | query | No | integer · minimum: 1; maximum: 500; default: 100 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/xbrl/facts'Responses
HTTP 200
Raw XBRL facts
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /xbrl/statementsGet as-reported financial statement networks and their raw facts
No API key required; supplied credentials can add restrictions
Public bounded view of one package; reads at most 5000 facts and 500 conflicts without continuation. Use paged raw facts for larger packages.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | query | Yes | string | |
statement | query | No | string · one of: "income_statement", "balance_sheet", "cash_flow_statement" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/xbrl/statements' \
--data-urlencode 'accession=YOUR_ACCESSION'Responses
HTTP 200
As-reported statements
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /xbrl/disclosuresGet disclosure-topic and roll-forward-candidate networks
No API key required; supplied credentials can add restrictions
Public view reading at most 5000 facts without continuation. Network roles and roll-forward flags do not establish complete footnote extraction.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
accession | query | Yes | string | |
topic | query | No | string |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/xbrl/disclosures' \
--data-urlencode 'accession=YOUR_ACCESSION'Responses
HTTP 200
As-reported disclosure networks
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /xbrl/quartersGet reported quarters and compatible source-linked YTD disaggregation
No API key required; supplied credentials can add restrictions
Reads at most 5000 facts. Reported-quarter candidates use 70–110-day durations; YTD subtraction uses compatible observations up to 300 days. Annual-minus-nine-month Q4 derivation is outside this endpoint.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
cik | query | Yes | string | |
standard_concept | query | Yes | string |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/xbrl/quarters' \
--data-urlencode 'cik=YOUR_CIK' \
--data-urlencode 'standard_concept=YOUR_STANDARD_CONCEPT'Responses
HTTP 200
Reported and derived quarters
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /xbrl/revisionsGet cross-filing fact revision history
No API key required; supplied credentials can add restrictions
Public view of differing comparable observations from at most 5000 facts. It does not identify formal restatements or retain every parser revision.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
cik | query | Yes | string | |
standard_concept | query | No | string |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/xbrl/revisions' \
--data-urlencode 'cik=YOUR_CIK'Responses
HTTP 200
Revision history
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /xbrl/timeseriesGet chart-ready source-linked standard-concept history
No API key required; supplied credentials can add restrictions
Public bounded view reading at most 5000 facts without continuation; not a complete historical archive.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
cik | query | Yes | string | |
standard_concept | query | Yes | string |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/xbrl/timeseries' \
--data-urlencode 'cik=YOUR_CIK' \
--data-urlencode 'standard_concept=YOUR_STANDARD_CONCEPT'Responses
HTTP 200
Time-series data
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /xbrl/peersGet a bounded cross-company period table
No API key required; supplied credentials can add restrictions
Accepts 2–25 distinct comma-separated CIKs and reads at most 500 matching facts per issuer. Missing values and conflicts remain explicit.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
ciks | query | Yes | string | |
standard_concept | query | Yes | string | |
period_end | query | Yes | string · format: "date" |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/xbrl/peers' \
--data-urlencode 'ciks=YOUR_CIKS' \
--data-urlencode 'standard_concept=YOUR_STANDARD_CONCEPT' \
--data-urlencode 'period_end=YOUR_PERIOD_END'Responses
HTTP 200
Peer table
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /xbrl/conflictsList unresolved values sharing concept, period, dimensions, and unit
No API key required; supplied credentials can add restrictions
Public bounded result of at most 500 conflicts with no continuation cursor; the server does not select a winning value.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
cik | query | No | string | |
accession | query | No | string | |
limit | query | No | integer · minimum: 1; maximum: 500; default: 100 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/xbrl/conflicts'Responses
HTTP 200
Explicit XBRL conflicts
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /xbrl/comparabilityReview bounded financial fact alternatives without selecting a winner
No API key required; supplied credentials can add restrictions
Deployed with representative public-data and automated competing-context, unit, period, source-availability and pair-bound acceptance. Requires CIK and a registry standard concept; optional period_end narrows the candidate set. Reads limit plus one facts to detect truncation, then compares at most limit facts. No continuation cursor; narrow the request or use paged raw facts. A nontruncated read does not establish complete SEC coverage. Context, unit, scope, mapping and numeric alternatives remain explicit. No winning value, analyst override, formal restatement or verification upgrade is produced. All bounded pairs are evaluated; at most 200 prioritized pair details are returned with separate comparisonsTruncated and inputTruncated flags. Summary counts include all evaluated pairs. Shared response-size limits apply. A missing XBRL fact source returns HTTP 503, not an empty successful review.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
cik | query | Yes | string · pattern: "^[0-9]{1,10}$" | |
standard_concept | query | Yes | string | A standardConcept from /xbrl/mappings |
period_end | query | No | string · format: "date" | |
limit | query | No | integer · minimum: 1; maximum: 100; default: 40 |
Replace YOUR_… with identifiers from your available records. This is a request template, not a prefilled production transaction.
curl --fail-with-body --show-error --get 'https://api.filingsift.com/api/v1/xbrl/comparability' \
--data-urlencode 'cik=YOUR_CIK' \
--data-urlencode 'standard_concept=YOUR_STANDARD_CONCEPT'Responses
HTTP 200
Bounded no-winner comparability review with explicit input truncation
Content type: application/json
FinancialComparabilityResponse
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | All-pairs review of a bounded candidate set. Reported numeric text is normalized without currency or scale conversion. Different rounding declarations may explain a disagreement but never resolve it. same_observed_value records exact numeric agreement while financial comparability remains a separate analyst determination. selectedFactId and value remain null in this read-only review, including when observed values are the same. |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/FinancialComparabilityResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
XBRL fact source unavailable; error code xbrl_review_unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}Restricted and retired contracts (35)
POST /billing/webhooks/providerReceive a signed event from the configured billing provider
Signed billing-provider callback · not a customer webhook API
Verifies the configured provider signature over the raw request body and synchronizes subscription state. Stripe uses Stripe-Signature; the deterministic non-Stripe provider uses X-Billing-Signature. The configured provider's signature is required; bearer API keys do not authenticate this endpoint.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
Stripe-Signature | header | No | string | Required when Stripe is the configured provider |
X-Billing-Signature | header | No | string | Required for the deterministic non-Stripe provider |
Request body (required)
Content type: application/json
Request schema
{
"type": "object",
"additionalProperties": true
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 202
Verified event accepted idempotently
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /account/membersDeprecated direct-member endpoint; use the team invitation workflow
Deprecated / unavailable for new integrations
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
email | Yes | string · format: "email" | |
displayName | Yes | string · minLength: 1; maxLength: 120 | |
role | Yes | string · one of: "owner", "admin", "member", "viewer" |
Request schema
{
"$ref": "#/components/schemas/MemberCreateRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 410
Direct member creation is disabled; use /account/team/invitations
GET /admin/organizationsList customer organizations for internal administration
Platform administrator only
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Organization overviews
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | array | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/OrganizationListResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /admin/organizationsCreate an organization, owner, membership, and initial one-time key
Platform administrator only
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
name | Yes | string · minLength: 1; maxLength: 160 | |
slug | Yes | string · pattern: "^[a-z][a-z0-9-]{1,62}[a-z0-9]$" | |
ownerEmail | Yes | string · format: "email" | |
ownerName | Yes | string · minLength: 1; maxLength: 120 | |
planKey | No | string · one of: "evaluation", "builder", "professional", "team", "internal" |
Request schema
{
"$ref": "#/components/schemas/OrganizationCreateRequest"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Organization and one-time owner key created
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/OrganizationIssueResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /admin/accountsList account users for internal platform administration
Platform administrator only
Requires an authenticated platform administrator; ordinary organization administrators are refused.
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Account-user administration view
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | array | |
meta | Yes | object |
Response schema
{
"type": "object",
"required": [
"data",
"meta"
],
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"meta": {
"$ref": "#/components/schemas/ApiMeta"
}
}
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}PATCH /admin/organizations/{organization_id}Change an organization's active status or plan limits
Platform administrator only
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
organization_id | path | Yes | string · format: "uuid" | |
organization_id | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
status | No | string · one of: "active", "suspended" | |
planKey | No | string · one of: "evaluation", "builder", "professional", "team", "internal" |
Request schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"active",
"suspended"
]
},
"planKey": {
"$ref": "#/components/schemas/PlanKey"
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Updated organization
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/OrganizationResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}DELETE /admin/organizations/{organization_id}Delete a closed workspace from the active directory
Platform administrator only
Internal only. Requires platform-admin authority and admin:write. Exact slug confirmation, a suspended workspace, no active members, keys, sessions or invitations, and no billing records are required. Current, internal and master-member workspaces are protected. User login records and audit history are retained. Cookie-authenticated mutations require the configured Origin and X-FilingSift-CSRF header.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
organization_id | path | Yes | string · format: "uuid" | |
organization_id | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
slug | Yes | string · minLength: 3; maxLength: 64 | Exact slug returned by the closure preview; no case folding or trimming. |
Request schema
{
"$ref": "#/components/schemas/OrganizationSlugConfirmation"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Envelope with data.id and data.deleted true; audit and user records retained
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /admin/organizations/{organization_id}/closurePreview workspace closure eligibility and access counts
Platform administrator only
Internal only. Requires platform-admin authority and admin:write. This read does not close or delete anything. Returns organization, counts (activeMembers, activeKeys, activeSessions, pendingInvitations, billingRecords), protected, canClose and canDelete in data. Eligibility is checked again under lock when a mutation is requested.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
organization_id | path | Yes | string · format: "uuid" | |
organization_id | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Closure preview
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /admin/organizations/{organization_id}/closeSuspend a workspace and revoke its active access
Platform administrator only
Internal only. Requires platform-admin authority, admin:write and the exact organization slug. Current, internal, master-member and billing-linked workspaces are refused. Suspends the workspace, removes active memberships, revokes keys, sessions and pending invitations, and records an audit event transactionally. Deletion is a separate operation. Cookie-authenticated mutations require the configured Origin and X-FilingSift-CSRF header.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
organization_id | path | Yes | string · format: "uuid" | |
organization_id | path | Yes | string | Use the identifier returned by the corresponding list or creation operation. |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
slug | Yes | string · minLength: 3; maxLength: 64 | Exact slug returned by the closure preview; no case folding or trimming. |
Request schema
{
"$ref": "#/components/schemas/OrganizationSlugConfirmation"
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Envelope with data.id
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 429
API-wide fixed-window request limit exceeded
Response headers: Retry-After, RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset.
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /admin/auditList the latest cross-organization administrative audit entries
Platform administrator only
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Global audit entries
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | array | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/AuditResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /admin/verificationGet frozen benchmark queue, reviewer, regression, and promotion-gate status
Platform administrator only
Requires platform-admin authority or an active qualified-reviewer profile. The response never converts machine review into qualified verification.
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Truthful review and promotion-gate status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /admin/verification/coverageMeasure exact frozen-benchmark coverage, queue state, failures, and ingestion latency by issuer
Platform administrator only
Requires platform-admin authority or an active qualified-reviewer profile. Measures only the committed 100 accessions and omits raw failure reasons.
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Exact case and per-issuer benchmark coverage telemetry
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 503
Turnstile, commercial billing, or another required service is temporarily or intentionally unavailable
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /admin/verification/evidence-auditAudit all frozen filings for exact source provenance and complete machine evidence
Platform administrator only
Requires platform-admin authority or an active qualified-reviewer profile. Returns bounded issue codes and counts, never raw filing documents.
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Exact 100-filing evidence readiness audit
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /admin/verification/bootstrapIdempotently create review items from the committed frozen manifest
Platform administrator only
Platform administrator only. Creates workflow records, not qualified ground truth.
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Frozen queue bootstrap result
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 401
Missing, malformed, expired, revoked, or invalid account session/API key, or incorrect login credentials
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /admin/verification/reviewersList authorized qualified reviewers without private evidence references
Platform administrator only
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Reviewer roster
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /admin/verification/reviewersRecord reviewer qualification and its internal evidence reference
Platform administrator only
Platform administrator only. Application access alone never establishes qualification.
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
userId | Yes | string · format: "uuid" | |
qualification | Yes | string · maxLength: 1000 | |
qualificationEvidence | Yes | string · maxLength: 1000 | |
active | No | boolean · default: true |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"userId",
"qualification",
"qualificationEvidence"
],
"properties": {
"userId": {
"type": "string",
"format": "uuid"
},
"qualification": {
"type": "string",
"maxLength": 1000
},
"qualificationEvidence": {
"type": "string",
"maxLength": 1000
},
"active": {
"type": "boolean",
"default": true
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Reviewer authority recorded
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /admin/verification/queueList frozen benchmark review items and explicit workflow/approval states
Platform administrator only
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
review_state | query | No | string · one of: "pending", "assigned", "awaiting_second_review", "needs_correction", "qualified_reviewed" | |
approval_state | query | No | string · one of: "candidate", "machine_checked", "verified" | |
reviewer_id | query | No | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Bounded 100-item review queue
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /admin/verification/queue.csvDownload the reviewer assignment queue as CSV
Platform administrator only
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Frozen review queue with SEC source links and explicit states
Content type: text/csv
Response schema
{
"type": "string"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /admin/verification/items/{item_id}/assignAtomically assign distinct primary and second-pass reviewers
Platform administrator only
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
item_id | path | Yes | string · format: "uuid" |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
primaryReviewerId | Yes | string · format: "uuid" | |
secondReviewerId | Yes | string · format: "uuid" |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"primaryReviewerId",
"secondReviewerId"
],
"properties": {
"primaryReviewerId": {
"type": "string",
"format": "uuid"
},
"secondReviewerId": {
"type": "string",
"format": "uuid"
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Assigned review item
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /admin/verification/items/{item_id}/dispositionsAppend an immutable assigned-reviewer disposition
Platform administrator only
Requires the assigned active reviewer, an SEC-source-opened attestation, exhaustive structured annotation including amendment links, and exact annotation agreement between the distinct primary and second-pass reviewers. Extraction failures atomically create regression cases.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
item_id | path | Yes | string · format: "uuid" |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
decision | Yes | string · one of: "accepted", "needs_correction", "extraction_failure" | |
reasonCode | Yes | string | |
notes | No | string · maxLength: 5000 | |
sourceOpened | Yes | boolean · const: true | |
annotation | Yes | object |
Request schema
{
"type": "object",
"required": [
"decision",
"reasonCode",
"sourceOpened",
"annotation"
],
"properties": {
"decision": {
"type": "string",
"enum": [
"accepted",
"needs_correction",
"extraction_failure"
]
},
"reasonCode": {
"type": "string"
},
"notes": {
"type": "string",
"maxLength": 5000
},
"sourceOpened": {
"type": "boolean",
"const": true
},
"annotation": {
"type": "object",
"required": [
"parserVersion",
"expectedFacts",
"expectedSignals",
"expectedRefusals",
"expectedAmendmentLinks"
],
"properties": {
"parserVersion": {
"type": "string",
"maxLength": 120
},
"expectedFacts": {
"type": "array",
"maxItems": 5000,
"items": {
"type": "object"
}
},
"expectedSignals": {
"type": "array",
"maxItems": 5000,
"items": {
"type": "object"
}
},
"expectedRefusals": {
"type": "array",
"maxItems": 5000,
"items": {
"type": "object"
}
},
"expectedAmendmentLinks": {
"type": "array",
"maxItems": 1000,
"description": "Exhaustive qualified-human labels for amends",
"refinances": null,
"and references_agreement links originating from this case accession": null,
"items": {
"type": "object",
"required": [
"sourceAccession",
"targetAccession",
"relation",
"evidence",
"evidenceSha256",
"sourceLocator"
]
}
}
}
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Immutable review version recorded
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /admin/verification/items/{item_id}/versionsRead append-only disposition history for one benchmark case
Platform administrator only
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
item_id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Review item and version history
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /admin/verification/items/{item_id}/packetDownload source-bound machine candidates and an empty reviewer annotation
Platform administrator only
Machine candidates are navigation aids, not ground truth. The source-opened attestation is always false in the generated packet.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
item_id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Review evidence packet
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /admin/verification/items/{item_id}/promotePromote a qualified-reviewed item only after the official benchmark gate opens
Platform administrator only
Fails closed unless two independent reviews are complete and the committed official score report passes every policy threshold.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
item_id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Item promoted to verified
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /admin/verification/regressionsList regression cases created from discovered extraction failures
Platform administrator only
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Regression case list
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}PATCH /admin/verification/regressions/{regression_id}Record a regression fix or verification with a mandatory test reference
Platform administrator only
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
regression_id | path | Yes | string · format: "uuid" |
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
status | Yes | string · one of: "open", "fixed", "verified" | |
testReference | No | string · maxLength: 500 |
Request schema
{
"type": "object",
"additionalProperties": false,
"required": [
"status"
],
"properties": {
"status": {
"type": "string",
"enum": [
"open",
"fixed",
"verified"
]
},
"testReference": {
"type": "string",
"maxLength": 500
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Updated regression case
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
data | Yes | object | |
meta | Yes | object |
Response schema
{
"$ref": "#/components/schemas/GenericResponse"
}HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/webhooksRead retained endpoint metadata for the withdrawn webhook feature
Withdrawn feature · retained metadata / cleanup only
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Product webhook configuration
POST /account/webhooksRetired customer webhook creation
Withdrawn feature · retained metadata / cleanup only
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 410
Customer webhooks withdrawn; feature_withdrawn
DELETE /account/webhooks/{endpoint_id}Disable an endpoint and stop future delivery attempts
Withdrawn feature · retained metadata / cleanup only
Requires webhooks:write. Remains available while release or billing gates are closed. A request already in flight may finish.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
endpoint_id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Disabled endpoint; delivery history retained
HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /account/webhook-deliveriesRead delivery, retry, and dead-letter state
Withdrawn feature · retained metadata / cleanup only
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Product webhook delivery metadata without retained filing payloads
POST /account/webhook-deliveries/{delivery_id}/replayRetired customer webhook replay
Withdrawn feature · retained metadata / cleanup only
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
delivery_id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 410
Customer webhooks withdrawn; feature_withdrawn
GET /admin/pilotsReturn the private cross-organization pilot portfolio and three-pilot threshold
Platform administrator only
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Private pilot portfolio
HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /admin/pilotsEnroll an organization after measurement consent is recorded
Platform administrator only
No path or query parameters are specified for this operation.
Request body (required)
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
organizationId | Yes | string · format: "uuid" | |
label | Yes | string · minLength: 1; maxLength: 100 | |
workflow | Yes | string · one of: "financing_change_review", "filing_comparison", "evidence_export", "api_integration" | |
analystRole | Yes | string · one of: "credit_analyst", "research_analyst", "financial_analyst", "developer", "other" | |
consentRecorded | Yes | boolean · const: true |
Request schema
{
"type": "object",
"required": [
"organizationId",
"label",
"workflow",
"analystRole",
"consentRecorded"
],
"properties": {
"organizationId": {
"type": "string",
"format": "uuid"
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"workflow": {
"type": "string",
"enum": [
"financing_change_review",
"filing_comparison",
"evidence_export",
"api_integration"
]
},
"analystRole": {
"type": "string",
"enum": [
"credit_analyst",
"research_analyst",
"financial_analyst",
"developer",
"other"
]
},
"consentRecorded": {
"type": "boolean",
"const": true
}
}
}Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Private active pilot enrolled
HTTP 400
Invalid filter, cursor, request, or query cost
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}HTTP 404
Resource not found
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /admin/pilots/{pilot_id}/reviewsAppend a completed or withdrawn final review
Platform administrator only
Completion fails until paired time, nonzero evidence and fact denominators, and returned or seven-day no-return behavior are observable.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
pilot_id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Append-only final review recorded
HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}GET /admin/enterprise-controlsList the latest private enterprise-demand state for platform review
Platform administrator only
No path or query parameters are specified for this operation.
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 200
Platform-admin enterprise demand queue
HTTP 403
Valid key lacks a required scope, role, entitlement, provider retrieval window, or platform-admin status
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}POST /admin/enterprise-controls/{request_id}/reviewsAppend a platform review with per-control states and opaque evidence receipts
Platform administrator only
Accepted identity controls require an enabled customer configuration; accepted penetration testing requires report and remediation receipts; accepted requests require every requested control to be accepted or explicitly not applicable.
Parameters
| Name | Location | Required | Type / constraints | Description |
|---|---|---|---|---|
request_id | path | Yes | string · format: "uuid" |
Use the signed-in workspace or authorized provider/admin workflow described above. This operation is not a general API-key quickstart.
Responses
HTTP 201
Append-only review recorded
HTTP 409
Requested account transition violates a current-state constraint
Content type: application/json
| Field | Required | Type / constraints | Description |
|---|---|---|---|
error | Yes | object | |
requestId | No | string | |
meta | No | object |
Response schema
{
"$ref": "#/components/schemas/ErrorResponse"
}