A company is a legal person: it owns ships and stations, signs contracts, and has a controller who gives its orders and owners who hold its shares. Who stands behind a company is private.
Companies
- A company is a player account with no hull. It has its own map, events, contracts, tags, groups, nodes and standing orders.
- A company's command posts are its own and those of its controllers.
GET /v1/melists the companies a player controls or holds shares in, and those whose control is offered to it.
Incorporation
POST /v1/companies, with astation_idand a uniquename, founds a company at one of the founder's stations, which pays the incorporation fee as slag.- The founder becomes its controller and holds all its shares.
- It registers in the station's system and receives a copy of the founder's charts, sightings and finds.
Acting as a company
- The
X-Company: <id>header acts as a company in any request. It works for any key above the company in its chain of control. POST /v1/companies/{id}/keygives a company its own API key, replacing any it had. That key acts as the company and the companies below it, never above.DELETEremoves the key.- A bot holding a company's key touches only what that company and its subsidiaries own.
Hand-overs
POST /v1/fleet/ships/{id}/hand_overandPOST /v1/fleet/stations/{id}/hand_over, withto_id, give an idle ship, or a station with no work under way, to the same player or a company in the same hands.- The hull, a ship carrying a courier job, and a station with open contracts cannot be handed over (
cannot_hand_over). Payouts waiting at a station stay collectible there. - A hand-over fails with
claimedwhile another key holds a claim on what it hands over, and ends the claims on it. - What is handed over leaves its old owner's nodes, tags and schedules, and stops hosting their nodes.
transfermoves cargo between any ships and stations in the same hands.
Shares and control
POST /v1/companies/{id}/shares, withto_idandshares, gives shares to any player or company (shares.moved).- Control passes only with the receiver's consent.
POST /v1/companies/{id}/control, withto_id, lets the direct controller offer it to any player or company (control.offered). Nothing changes until the receiver accepts. - A company has at most one open offer; a new offer replaces it.
DELETE /v1/companies/{id}/controlwithdraws it (control.withdrawn). - The receiver sees the offer in
control_offersonGET /v1/me: the company, never who offers it. POST /v1/companies/{id}/control/accept, sent by the receiver, passes control (control.changed). An offer that no longer exists, or was made to someone else, fails withnot_found.- Control cannot loop (
control_loop), checked at the offer and again at the accept; shares can. - A change of control removes the keys of the company and every company below it.
- A ship hand-over is an order to the ship, so it takes effect when its packet arrives; until then the ship obeys its old owner. A station hand-over and an accepted change of control take effect when they resolve.
- An order already sent as a company still runs after its control changes.
Payouts
POST /v1/companies/payout, acting as the company, sets goods aside at one of its stations, split among owners by share in whole units (payout.owed).GET /v1/payoutslists what is owed.POST /v1/payouts/collect, with a ship at the station's dock, collects it (payout.collected).
The registry
GET /v1/companiesandGET /v1/companies/{id}show each company's name, registered system, ships, stations and filings.- Filings:
incorporated,asset_in,asset_out,contract,payoutandleak. A player on the other side of a filing shows as "a private party". - Owners and controller never show in the registry.
Claims
- A claim stops two controllers dispatching the same thing: it holds a ship, a facility or stock at a station for the key that sent it.
- Every order records whose key sent it as
sent_by. An order from a trigger or schedule counts as sent by the key that set it up. POST /v1/claims, with one ofship_id,facility_id, orstation_idwithgoods, plusminutes, claims something the acting company owns, for a limited time (too_long). A claim on a ship travels to it like any order.- While a claim holds, an order sent with another key to the claimed ship or facility, or transferring to the claimed ship, fails with
claimed. - A stock claim fails another key's order that would take the station's hold below the claimed amount.
- Claims stop orders, not work already under way. Research and study at a station leave labs another key has claimed alone.
- A claim ends when what it holds is handed over or wrecked.
- Claiming again with the same key renews a claim.
POST /v1/claims/{id}/releaseends it early, only with the key holding it. GET /v1/claimslists the claims on what the player owns, and whose key holds each (claim.changed).
Audits and leaks
POST /v1/companies/{id}/audit, with a ship in the company's registered system, takes time and pays a fee from the ship's hold. Each repeat audit of the same company by the same player costs more.- An audit reveals, to the auditor only, the company's direct owners, their shares and its controller, as of the tick it finishes. An owner that is a company needs its own audit.
GET /v1/companies/{id}lists what the player has learned asknown, each with its tick.- The audited company and its controller receive
company.audited, which does not say who. The auditor receivesaudit.startedandaudit.done. POST /v1/companies/{id}/leakmakes who is behind a company public: by an owner or the controller, or by an auditor withaudit_id. The registry files it as aleakby "a private party".- Audit records cannot be traded.