SingleFile organizations API
Organizations that own entities — CRUD plus contacts, documents, entities, orders and tasks
Organizations that own entities — CRUD plus contacts, documents, entities, orders and tasks
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/singlefile-organizations-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: SingleFile External API Documentation documents Organizations API
description: Formation and compliance documents
termsOfService: https://www.singlefile.io/
contact:
email: support@singlefile.io
license:
name: BSD License
version: v1
x-apievangelist-provenance:
method: searched
source: https://docs.singlefile.ai/ (ReadMe per-operation OpenAPI fragments merged; OAuth2 scheme added from the documented Authentication guide)
generated: '2026-07-21'
servers:
- url: https://api.demo.singlefile.ai/external-api/v1
security:
- OAuth2ClientCredentials:
- read
- write
tags:
- name: organizations
description: Organizations that own entities — CRUD plus contacts, documents, entities, orders and tasks
paths:
/organizations/{organization_id}/contacts/create:
parameters:
- name: organization_id
in: path
required: true
schema:
type: string
post:
operationId: organizations_contacts_create_create
description: View to create contacts for an organization
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationContactCreateRequest'
required: true
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationContactCreateRequest'
tags:
- organizations
/organizations/{organization_id}/contacts:
parameters:
- name: organization_id
in: path
required: true
schema:
type: string
get:
operationId: organizations_contacts_list
description: View to list all contacts associated with an organization
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: search
in: query
description: A search term.
required: false
schema:
type: string
- name: page_number
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/ContactList'
tags:
- organizations
/organizations/{organization_id}/contacts/{contact_id}:
parameters:
- name: organization_id
in: path
required: true
schema:
type: string
- name: contact_id
in: path
required: true
schema:
type: string
patch:
operationId: organizations_contacts_partial_update
description: View to retrieve and update a specific contact for an organization
requestBody:
$ref: '#/components/requestBodies/ContactUpdate'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ContactUpdate'
tags:
- organizations
get:
operationId: organizations_contacts_read
description: View to retrieve and update a specific contact for an organization
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ContactDetail'
tags:
- organizations
put:
operationId: organizations_contacts_update
description: View to retrieve and update a specific contact for an organization
requestBody:
$ref: '#/components/requestBodies/ContactUpdate'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ContactUpdate'
tags:
- organizations
/organizations/create:
parameters: []
post:
operationId: organizations_create_create
description: ''
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationCreate'
required: true
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationCreate'
tags:
- organizations
/organizations/{organization_id}/documents:
parameters:
- name: organization_id
in: path
required: true
schema:
type: string
get:
operationId: organizations_documents_list
description: ''
parameters:
- name: entity_id
in: query
description: entity_id
required: false
schema:
type: string
- name: jurisdiction
in: query
description: jurisdiction
required: false
schema:
type: string
- name: created_before
in: query
description: created_before
required: false
schema:
type: string
- name: created_after
in: query
description: created_after
required: false
schema:
type: string
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: search
in: query
description: A search term.
required: false
schema:
type: string
- name: page_number
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/DocumentList'
tags:
- organizations
/organizations/{organization_id}/documents/upload:
parameters:
- name: organization_id
in: path
required: true
schema:
type: string
post:
operationId: organizations_documents_upload_create
description: ''
requestBody:
$ref: '#/components/requestBodies/DocumentUpload'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentUpload'
tags:
- organizations
/organizations/{organization_id}/entities:
parameters:
- name: organization_id
in: path
required: true
schema:
type: string
get:
operationId: organizations_entities_list
description: ''
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: search
in: query
description: A search term.
required: false
schema:
type: string
- name: page_number
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/EntityList'
tags:
- organizations
/organizations/{organization_id}/entity/create:
parameters:
- name: organization_id
in: path
required: true
schema:
type: string
post:
operationId: organizations_entity_create_create
description: ''
requestBody:
$ref: '#/components/requestBodies/EntityCreate'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/EntityCreate'
tags:
- organizations
/organizations/list:
parameters: []
get:
operationId: organizations_list_list
description: ''
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: search
in: query
description: A search term.
required: false
schema:
type: string
- name: page_number
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/OrganizationList'
tags:
- organizations
/organizations/{organization_id}/orders:
parameters:
- name: organization_id
in: path
required: true
schema:
type: string
get:
operationId: organizations_orders_list
description: ''
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: search
in: query
description: A search term.
required: false
schema:
type: string
- name: page_number
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/OrderList'
tags:
- organizations
/organizations/{organization_id}:
parameters:
- name: organization_id
in: path
required: true
schema:
type: string
get:
operationId: organizations_read
description: ''
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationDetail'
tags:
- organizations
/organizations/{organization_id}/tasks:
parameters:
- name: organization_id
in: path
required: true
schema:
type: string
get:
operationId: organizations_tasks_list
description: ''
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: search
in: query
description: A search term.
required: false
schema:
type: string
- name: page_number
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/TaskInstance'
tags:
- organizations
components:
schemas:
EntityList:
required:
- name
type: object
properties:
id:
title: Id
type:
- string
- 'null'
readOnly: true
name:
title: Name
type: string
maxLength: 500
minLength: 1
entity_type:
title: Entity type
type: string
enum:
- Corporation
- Limited Liability Company
- Association
- Attorney for Bar
- Benefit Corporation
- Close Benefit Corporation
- Benefit LLC
- Benefit Professional Corporation
- Benevolent Corporation
- Close Corporation
- Close Limited Liability Company
- Close Professional Corporation
- Cooperative
- Cooperative Corporation
- Farm Corporation
- Farm Limited Liability Company
- Professional Limited Liability Limited Partnership
- Corporation Sole
- Doing Business as Name
- Exempt Nonstock Corporation
- General Partnership
- Individual
- Series Professional Limited Liability Company
- Limited Liability Limited Partnership
- Limited Liability Partnership
- Limited Partnership
- Low-Profit Limited Liability Company
- Massachusetts Trust
- Mutual Benefit Enterprise
- Mutual Benefit Nonprofit Corporation
- Nonprofit Corporation
- Nonprofit Limited Liability Company
- Personal Attorney
- Private Foundation
- Professional Corporation
- Professional Limited Liability Company
- Professional Limited Liability Partnership
- Professional Limited Partnership
- Public Benefit Corporation
- Public Benefit Nonprofit Corporation
- Religious Nonprofit Corporation
- Series Limited Liability Company
- Social Purpose Corporation
- Sole Proprietorship
- Sustainable Business Corporation
- Statutory Trust
- Trust
organization_id:
title: Organization id
type: string
readOnly: true
created_at:
title: Created at
type: string
format: date-time
updated_at:
title: Updated at
type: string
format: date-time
ExternalAddress:
type: object
properties:
id:
title: Id
type:
- string
- 'null'
readOnly: true
street_address:
title: Street address
type:
- string
- 'null'
maxLength: 200
city:
title: City
type:
- string
- 'null'
maxLength: 100
state:
title: State
type:
- string
- 'null'
maxLength: 100
postal_code:
title: Postal code
type:
- string
- 'null'
maxLength: 20
country:
title: Country
type:
- string
- 'null'
maxLength: 100
country_code:
title: Country code
type:
- string
- 'null'
maxLength: 10
country_area:
title: Country area
type:
- string
- 'null'
maxLength: 100
city_area:
title: City area
type:
- string
- 'null'
maxLength: 100
sorting_code:
title: Sorting code
type:
- string
- 'null'
maxLength: 100
OrderList:
type: object
properties:
id:
title: Id
type:
- string
- 'null'
readOnly: true
order_id:
title: Order id
type: string
maxLength: 50
minLength: 1
display_name:
title: Display name
type: string
readOnly: true
filing_type:
title: Filing type
type: string
enum:
- NONE
- ANY
- AMENDED ANNUAL REPORT
- AMENDMENT
- ANNUAL REPORT
- APOSTILLE
- BOI
- BRINGDOWN LETTER
- BUNDLE
- CERTIFIED DOCUMENT
- CHANGE IN CAPITAL
- COGS
- CONVERSION
- DFPI_VCC_REGISTRATION
- DFPI_VCC_REPORT
- DISSOLUTION
- FOREIGN QUALIFICATION
- FOREIGN QUALIFICATION AMENDMENT
- FORMATION
- INDEPENDENT DIRECTOR SERVICE
- INITIAL REPORT
- INTERNATIONAL REQUEST
- MERGER
- NAME RESERVATION
- PUBLICATION
- QUARTERLY ESTIMATED FRANCHISE TAX PAYMENT
- REGISTERED AGENT CHANGE
- REGISTERED AGENT RESIGNATION
- STATEMENT OF CORRECTION
- SUBSCRIBE_TO_AR
- SUBSCRIBE_TO_DFPI_VCC
- SUBSCRIBE_TO_FINCEN_BOI
- SUBSCRIPTION RENEWAL
- TRANSPARENCY_ACT
- INITIAL TRANSPARENCY ACT
- ANNUAL TRANSPARENCY ACT
- EXEMPT AFFIDAVIT REPORT
- INITIAL EXEMPT TRANSPARENCY ACT
- ANNUAL EXEMPT TRANSPARENCY ACT
- REVIVAL
- UCC
- STATE UCC SEARCH
- COUNTY UCC STL FTL JL SEARCH
- COUNTY LITIGATION SEARCH
- FEDERAL LITIGATION SEARCH
- BANKRUPTCY SEARCH
- PATRIOT ACT SEARCH
- UCC BUNDLE
- EIN
- DOING BUSINESS AS NAME
- WITHDRAWAL
- OTHER
- REJECTED
entity_id:
title: Entity id
type: string
readOnly: true
entity_name:
title: Entity name
type: string
readOnly: true
minLength: 1
status:
title: Status
type: string
readOnly: true
minLength: 1
created_at:
title: Created at
type: string
format: date-time
created_by:
title: Created by
type: string
readOnly: true
OrganizationContactCreateRequest:
type: object
properties:
primary_contact:
$ref: '#/components/schemas/ContactCreate'
billing_contact:
$ref: '#/components/schemas/ContactCreate'
authorized_contact_override:
$ref: '#/components/schemas/ContactCreate'
ContactDetail:
required:
- email
type: object
properties:
id:
title: Id
type:
- string
- 'null'
readOnly: true
name:
title: Name
type: string
readOnly: true
first_name:
title: First name
type:
- string
- 'null'
maxLength: 100
middle_name:
title: Middle name
type:
- string
- 'null'
maxLength: 100
last_name:
title: Last name
type:
- string
- 'null'
maxLength: 100
email:
title: Email
type: string
format: email
maxLength: 254
minLength: 1
phone:
title: Phone
type:
- string
- 'null'
readOnly: true
minLength: 1
address:
$ref: '#/components/schemas/ExternalAddress'
roles:
type: array
items:
type: string
minLength: 1
readOnly: true
created_at:
title: Created at
type: string
format: date-time
updated_at:
title: Updated at
type: string
format: date-time
updated_by:
title: Updated by
type: string
readOnly: true
Governor:
type: object
properties:
id:
title: Id
type:
- string
- 'null'
readOnly: true
title:
title: Title
type: string
readOnly: true
name:
title: Name
type: string
readOnly: true
is_organization:
title: Is organization
type: string
readOnly: true
created_at:
title: Created at
type: string
format: date-time
updated_at:
title: Updated at
type: string
format: date-time
first_name:
title: First name
type: string
maxLength: 100
middle_name:
title: Middle name
type: string
maxLength: 100
last_name:
title: Last name
type: string
maxLength: 100
governing_entity_name:
title: Governing entity name
description: "Name of entity that serves as a 'governor' of the entity linked in the entity Foreign key. \nNote: You have either an governor_entity name or a first/last name."
type: string
maxLength: 100
is_director:
title: Is director
type: boolean
address:
title: Address
type: string
readOnly: true
appointment_date:
title: Appointment date
description: Optional appointment date for the governor.
type:
- string
- 'null'
format: date-time
expiration_date:
title: Expiration date
description: Optional term expiration date for the governor.
type:
- string
- 'null'
format: date-time
TaskInstance:
required:
- due_by
type: object
properties:
id:
title: Id
type:
- string
- 'null'
readOnly: true
due_by:
title: Due by
description: The deadline for the task.
type: string
format: date
responsible_user_email:
title: Responsible user email
type: string
readOnly: true
entity_id:
title: Entity id
type: string
readOnly: true
status:
title: Status
type: string
enum:
- NONE
- ASSIGNED
- WAITING_FOR_CLIENT_RESPONSE
- ACKNOWLEDGED
- COMPLETED
- CANCELED
task:
title: Task
type: string
readOnly: true
created_at:
title: Created at
type: string
format: date-time
updated_at:
title: Updated at
type: string
format: date-time
acknowledged_at:
title: Acknowledged at
type:
- string
- 'null'
format: date-time
completed_at:
title: Completed at
type:
- string
- 'null'
format: date-time
completed_by_order_id:
title: Completed by order id
type: string
readOnly: true
upcoming_first_reminder_at:
title: Upcoming first reminder at
type:
- string
- 'null'
format: date-time
upcoming_second_reminder_at:
title: Upcoming second reminder at
type:
- string
- 'null'
format: date-time
upcoming_third_reminder_at:
title: Upcoming third reminder at
type:
- string
- 'null'
format: date-time
upcoming_fourth_reminder_at:
title: Upcoming fourth reminder at
type:
- string
- 'null'
format: date-time
due_today_reminder_at:
title: Due today reminder at
type:
- string
- 'null'
format: date-time
past_due_first_reminder_at:
title: Past due first reminder at
type:
- string
- 'null'
format: date-time
past_due_second_reminder_at:
title: Past due second reminder at
type:
- string
- 'null'
format: date-time
past_due_third_reminder_at:
title: Past due third reminder at
type:
- string
- 'null'
format: date-time
escalate_reminder_at:
title: Escalate reminder at
type:
- string
- 'null'
format: date-time
last_reminded_at:
title: Last reminded at
type:
- string
- 'null'
format: date-time
GrossAsset:
required:
- date
- assets
type: object
properties:
date:
title: Date
type: string
format: date
assets:
title: Assets
type: string
format: decimal
ShareClass:
required:
- class_name
- authorized_shares
type: object
properties:
start_date:
title: Start date
type:
- string
- 'null'
format: date
class_name:
title: Class name
type: string
maxLength: 100
minLength: 1
authorized_shares:
title: Authorized shares
type: integer
maximum: 9223372036854776000
minimum: -9223372036854776000
par_value:
title: Par value
type:
- string
- 'null'
format: decimal
issued_shares:
title: Issued shares
type:
- integer
- 'null'
maximum: 9223372036854776000
minimum: -9223372036854776000
OrganizationList:
type: object
properties:
id:
title: Id
type:
- string
- 'null'
readOnly: true
name:
title: Name
type:
- string
- 'null'
maxLength: 500
representing_organizations:
title: Representing organizations
type: string
readOnly: true
primary_contact_email:
title: Primary contact email
type: string
readOnly: true
billing_contact_email:
title: Billing contact email
type: string
readOnly: true
created_at:
title: Created at
type: string
format: date-time
updated_at:
title: Updated at
type: string
format: date-time
ContactUpdate:
required:
- email
type: object
properties:
first_name:
title: First name
type:
- string
- 'null'
maxLength: 100
last_name:
title: Last name
type:
- string
- 'null'
maxLength: 100
middle_name:
title: Middle name
type:
- string
- 'null'
maxLength: 100
email:
title: Email
type: string
format: email
maxLength: 254
minLength: 1
phone:
title: Phone
type:
- string
- 'null'
maxLength: 25
address:
$ref: '#/components/schemas/ExternalAddress'
is_active:
title: Is active
type: boolean
DocumentList:
required:
- document_type
- filing_type
type: object
properties:
id:
title: Id
type:
- string
- 'null'
readOnly: true
title:
title: Title
type:
- string
- 'null'
maxLength: 1000
entity_name:
title: Entity name
type:
- string
- 'null'
minLength: 1
organization_id:
title: Organization id
type: string
readOnly: true
entity_id:
title: Entity id
type: string
readOnly: true
jurisdiction:
title: Jurisdiction
type:
- string
- 'null'
maxLength: 500
document_type:
title: Document type
type: string
minLength: 1
filing_type:
title: Filing type
type: string
minLength: 1
certified:
title: Certified
description: Check this if this document is a certified copy.
type: boolean
created_at:
title: Created at
type: string
format: date-time
User:
required:
# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/singlefile/refs/heads/main/openapi/singlefile-organizations-api-openapi.yml