{"name":"US Filing Services","description":"US Filing Services forms companies, acts as registered agent, keeps up state filings, and keeps a company's records. A person's agent can read and work on their companies once they connect it.","url":"https://usfs-beta.betterlegal.com","provider":{"organization":"US Filing Services","url":"https://usfs-beta.betterlegal.com"},"version":"1","documentationUrl":"https://usfs-beta.betterlegal.com/for-agents","capabilities":{"streaming":false,"pushNotifications":false},"defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"skills":[{"id":"whoami","name":"Who am I","description":"This agent: its name, kind, who it works for, what it may do, and when its key expires.","tags":["agent","read"]},{"id":"list_capabilities","name":"What I can do","description":"Every capability this agent may use now, with its inputs, version and status.","tags":["agent","read"]},{"id":"list_companies","name":"List companies","description":"The companies this agent can reach, newest first, searchable by name and filtered by state.","tags":["companies","read"]},{"id":"get_company","name":"Get a company","description":"One company's details: name, state, type, status, EIN, dates, and its people with their roles.","tags":["companies","read"]},{"id":"list_documents","name":"List documents","description":"The company's Records Room Catalogue: each document's call number, name, type, date, shelf and flags.","tags":["documents","read"]},{"id":"read_document","name":"Read a document","description":"One document: its summary, the facts settled from it, and one page's text at a time.","tags":["documents","read"]},{"id":"get_issues","name":"Issues for counsel","description":"Open issues found in the company's documents, most serious first; for staff, also the findings across documents.","tags":["records","read"]},{"id":"get_timeline","name":"Company Timeline","description":"The company Timeline: what is coming up, what is pending now, and its history, with the page's sort and filters.","tags":["timeline","read"]},{"id":"get_notes","name":"Notes","description":"Notes people left on the company's documents, oldest first.","tags":["records","read"]},{"id":"search","name":"Search","description":"Companies by name, and documents in the Records Rooms of the companies this agent can reach.","tags":["companies","read"]},{"id":"request_access","name":"Ask for more access","description":"A link for your person to give you more: name each area and level you need. Areas: companies, people, documents, records, timeline, filings, mail, billing, team, webhooks, filing_ops, cx, mail_intake, outbound, cms, firms, records_staff, state_research, system. Levels: read, change.","tags":["agent","read"]},{"id":"get_checklist","name":"Company checklist","description":"What the company's record is missing (articles, agreement, EIN and the rest), as the Overview checklist shows it.","tags":["companies","read"]},{"id":"get_info_fields","name":"Company details","description":"The company's recorded details (EIN, addresses, officers and so on) with where each came from, and the values its documents give.","tags":["companies","read"]},{"id":"export_companies","name":"Companies, as rows","description":"Every company this agent can reach, as the companies CSV gives them (as data, not a file). Logged as an export.","tags":["companies","read"]},{"id":"export_compliance","name":"Compliance due dates, as rows","description":"Each company with a compliance due date, soonest first, as the compliance CSV gives them (as data). Logged as an export.","tags":["companies","read"]},{"id":"list_people","name":"People","description":"The company's people (members, managers, officers, owners) with their roles and stakes, as the Manifest shows them.","tags":["people","read"]},{"id":"get_people_drafts","name":"People read from documents","description":"The people the documents name, as the Manifest previews them for staff while that reading is scored.","tags":["people","read"]},{"id":"get_document_link","name":"Link to a document","description":"A link to one Records Room document's original, good for ten minutes.","tags":["documents","read"]},{"id":"list_intake","name":"Intake tray","description":"Files received for the company and not filed yet (the Documents tab's intake tray).","tags":["documents","read"]},{"id":"list_questions","name":"Records Room questions","description":"What the Records Room asks a person to answer, in order, with the evidence for each.","tags":["records","read"]},{"id":"get_missing_documents","name":"What's missing","description":"The documents a company of this kind is expected to hold, and which are in place, missing, or answered by staff.","tags":["records","read"]},{"id":"get_story","name":"The company's story","description":"The story written from the company's documents: each event, its status, and groups not written yet.","tags":["records","read"]},{"id":"get_deadlines","name":"Deadlines","description":"What is coming due: the compliance date, open filings, and the deadlines the documents' terms set (as the Timeline words them).","tags":["timeline","read"]},{"id":"list_filings","name":"Filings","description":"The company's filings, as the Filings tab shows them: what, with which authority, when, and where each stands.","tags":["filings","read"]},{"id":"list_services","name":"Services held","description":"The services the company holds (registered agent, compliance and so on) and their status, as the Billing tab shows them.","tags":["filings","read"]},{"id":"list_mail","name":"Registered agent mail","description":"Mail received for the companies this agent can reach (or one company), newest first.","tags":["mail","read"]},{"id":"get_mail_scan","name":"Mail scan","description":"A link to one piece of mail's scan, good for a short time. Unlike opening it on the site, it does not mark the mail as viewed.","tags":["mail","read"]},{"id":"get_billing_history","name":"Billing history","description":"The company's invoices and payments, net of refunds, as the Billing tab shows them.","tags":["billing","read"]},{"id":"get_quote","name":"Price for a service","description":"What a service would cost this company now (registered agent, compliance and the rest), priced on the server as checkout prices it.","tags":["billing","read"]},{"id":"list_team","name":"Team","description":"Who is on the company's team and as what (Settings, Team), and open invitations for someone who may manage people.","tags":["team","read"]},{"id":"list_roles","name":"Roles","description":"The roles a person can hold on this company and what each may do.","tags":["team","read"]},{"id":"get_access_log","name":"Who has looked at what","description":"The Records Room access log: sign-ins, visits, views, downloads, exports, changes and agent calls, newest first. Owners, Administrators and staff only.","tags":["team","read"]},{"id":"dismiss_checklist_item","name":"Dismiss a checklist item","description":"Mark an optional checklist item (operating agreement or bylaws) as not needed for this company.","tags":["companies","change"]},{"id":"undo_dismissal","name":"Undo a checklist dismissal","description":"Put a dismissed checklist item back on the checklist.","tags":["companies","change"]},{"id":"set_compliance_date","name":"Set the compliance date","description":"Set when a company's next compliance filing is due (one or several companies).","tags":["companies","change"]},{"id":"update_info_field","name":"Update a company's Info field","description":"Set one of the Info fields the company checklist names: its EIN (nine digits, 12-3456789) or its next compliance date (YYYY-MM-DD). Checked by type, recorded as entered by hand, and audited with the reason. Other Info fields have no editing rules on the site yet, so they cannot be changed here.","tags":["companies","change"]},{"id":"preview_roster_import","name":"Preview a roster import","description":"A dry run of importing people from a CSV (name, email, role, position, start date, end date): what each row would do. Changes nothing.","tags":["people","read"]},{"id":"import_roster","name":"Import a roster","description":"Add or update the company's people from a CSV, as the Manifest's import does. Sends no invitations.","tags":["people","change"]},{"id":"upload_document","name":"Upload a document","description":"Add a document to the company's Documents tab (PDF, image, Word; about 3 MB at most from an agent for now).","tags":["documents","change"]},{"id":"create_intake_link","name":"Make an upload link","description":"A link anyone holding it can use to send files into this company's intake tray, with an expiry and an optional passphrase.","tags":["documents","change"]},{"id":"revoke_intake_link","name":"Revoke an upload link","description":"Stop an upload link working.","tags":["documents","change"]},{"id":"file_intake_items","name":"File intake items","description":"File files from the intake tray onto the Documents tab as one kind of document.","tags":["documents","change"]},{"id":"set_aside_intake_items","name":"Set intake items aside","description":"Set files in the intake tray aside (they stay recoverable; nothing is deleted).","tags":["documents","change"]},{"id":"answer_question","name":"Answer a Records Room question","description":"Answer one of list_questions' questions with one of its answers (its `act`), as the Questions page does. Reading staff.","tags":["records","change"]},{"id":"decide_fact","name":"Decide a fact","description":"Accept, reject or correct one fact read from a document. Reading staff, as on the file page.","tags":["records","change"]},{"id":"add_note","name":"Add a note","description":"Leave a note on a Records Room document (or one page of it). It tells nobody by email: mentioning people waits for the approval list.","tags":["records","change"]},{"id":"mark_note_done","name":"Mark a note done","description":"Mark a note done, or open it again.","tags":["records","change"]},{"id":"prune_story_line","name":"Hide or show a story line","description":"Hide a line of the company story from the Timeline, or show it again. Staff and platform agents only for now (counsel reads the Timeline).","tags":["records","change"]},{"id":"edit_story_line","name":"Rewrite a story line","description":"Change the words of a line of the company story. Staff and platform agents only for now (counsel reads the Timeline).","tags":["records","change"]},{"id":"change_role","name":"Change someone's role","description":"Give a team member another role on this company, as Settings, Team does. Needs people.manage. Never Owner or Administrator, and never someone who holds one: those wait for a person.","tags":["team","change"]},{"id":"share_records_room","name":"Share the Records Room","description":"Share the company's Records Room with its team, or stop sharing it. Reading staff.","tags":["team","change"]},{"id":"mark_mail_read","name":"Mark mail read","description":"Mark a piece of registered agent mail as read.","tags":["mail","change"]},{"id":"archive_mail","name":"Archive mail","description":"Archive a piece of registered agent mail (it stays readable; nothing is deleted).","tags":["mail","change"]},{"id":"register_webhook","name":"Register a webhook","description":"Ask BetterLegal to tell an https address of events, instead of polling: filing.queued (a filing was requested and joined the filing queue (companyId, filingId, filingType)); filing.status_changed (a filing's status changed (companyId, filingId, status)); mail.received (registered agent mail arrived for a company (companyId, mailId, mailType)); deadline.near (a company's state due date is near (companyId, dueOn)); proposal.decided (a person approved or declined one of your proposals (proposalId, decision)). You hear only of events this key may read. Payloads carry ids, never customers' details. Returns a signing secret ONCE. Each delivery is a POST of JSON {id, eventId, event, createdAt, agentId, data} with the header BetterLegal-Signature: t=<unix seconds>,v1=<hex>. Compute HMAC-SHA256 with your secret over \"<t>.<the raw body>\" and compare to v1; reject it if t is more than 5 minutes from now. Answer 2xx within 10 seconds; anything else is retried with backoff, then marked failed. A delivery can arrive more than once: ignore an id you have already handled. Off unless BetterLegal has switched push notifications on.","tags":["webhooks","change"]},{"id":"list_webhooks","name":"My webhooks","description":"This agent's webhook addresses: the events each asked for, whether it is live, and how recent deliveries went. Never the secret.","tags":["webhooks","read"]},{"id":"stop_webhook","name":"Stop a webhook","description":"Stop sending to one of this agent's webhook addresses. It is kept, stopped, in the record; nothing is deleted.","tags":["webhooks","change"]},{"id":"get_proposal","name":"Get a proposal","description":"One of this agent's proposals (an Outside tool call waiting for a person): pending, approved (with what the tool answered once it ran), declined (with why), expired or failed (with why).","tags":["agent","read"]},{"id":"list_proposals","name":"List my proposals","description":"This agent's proposals, newest first, optionally only one status.","tags":["agent","read"]},{"id":"invite_person","name":"Invite someone to the team","description":"Invite a person to a company's team by email, with a role, as Settings, Team does (they are emailed an invitation). Never as Owner or Administrator. Off unless BetterLegal staff switch it on; when on, it proposes and a person approves before anything happens.","tags":["team","change"]},{"id":"add_note_telling_people","name":"Add a note that tells people","description":"Leave a note on a Records Room document that names people on the team; each named person is emailed. Off unless BetterLegal staff switch it on; when on, it proposes and a person approves before anything happens.","tags":["records","change"]},{"id":"request_mail_forward","name":"Ask for mail to be forwarded","description":"Ask BetterLegal to forward a piece of registered agent mail by post, as the Mail page does. Off unless BetterLegal staff switch it on; when on, it proposes and a person approves before anything happens.","tags":["mail","change"]},{"id":"request_amendment","name":"Request an amendment","description":"Ask BetterLegal to file an amendment for a company (a new legal name, principal address or registered agent), as the Filings tab does. It creates an order for our filing team; pricing is confirmed with the customer before filing. Off unless BetterLegal staff switch it on; when on, it proposes and a person approves before anything happens.","tags":["filings","change"]},{"id":"request_ein","name":"Request an EIN","description":"Ask BetterLegal to apply for a company's EIN (form SS-4), as the Filings tab does. Never send a tax id: our team collects it at filing time. Off unless BetterLegal staff switch it on; when on, it proposes and a person approves before anything happens.","tags":["filings","change"]},{"id":"start_foreign_registration","name":"Start a foreign registration","description":"Register a company to do business in another state, as the company page does: it adds the registration for our filing team. Off unless BetterLegal staff switch it on; when on, it proposes and a person approves before anything happens.","tags":["filings","change"]}],"endpoints":{"mcp":{"url":"https://usfs-beta.betterlegal.com/api/mcp","auth":"Authorization: Bearer <key>; a person makes the key in their account"},"rest":{"url":"https://usfs-beta.betterlegal.com/api/agent/v1","auth":"Authorization: Bearer <key>","capabilities":"https://usfs-beta.betterlegal.com/api/agent/v1/capabilities","openapi":"https://usfs-beta.betterlegal.com/api/agent/v1/openapi.json"}},"prices":[{"label":"LLC formation","words":"$299, plus the state's filing fee ($35 to $550, by state)"},{"label":"Registered agent","words":"$120 a year"},{"label":"State compliance","words":"$149 a year"}],"llms":"https://usfs-beta.betterlegal.com/llms.txt"}