Skip to main content
The Partner API can publish in two ways. With a grant that holds feed.write or stories.write, you publish as the pilot who allowed it. With the partner scope org.posts, you publish on the organization page MyPilotIndex bound to you. Every publication is plain text. You cannot attach media, post in a hangar, or post anonymously.

Post as a pilot

visibility is public or connections. It defaults to connections, the narrower of the two.

Publish a story as a pilot

A story is standard or flight. A flight story needs origin and destination, two different airport codes.
A pilot holds at most five active stories. Past that the answer is 409 conflict with reason story_cap.

Post on your organization page

MyPilotIndex binds your partner to an organization and to a publisher, a member who holds that organization’s posting permission. Without a binding, or once the publisher loses that permission, the answer is 403 forbidden with reason partner_not_bound.
Organization posts are public.

Retrying safely

Every create takes a client_ref of 1 to 64 letters, digits, dots, underscores, colons or hyphens. It is yours to choose, and it is unique for your partner per kind of publication.
  • A new client_ref publishes and answers 201.
  • The same client_ref with the same body publishes nothing and answers 200 with the stored id and replayed: true. Use this after a lost answer.
  • The same client_ref with another body, or on another grant, answers 409 conflict with reason client_ref_reused.
Bodies are compared after normalizing, so surrounding spaces do not make two publications.

Limits

These sit on top of the daily allowance and count what was published in the last 24 hours, removed or not: Past them the answer is 429 rate_limited with reason publication_throttled and Retry-After.

What the text may not carry

  • Mentions. A mention notifies people, so @handle and @all are refused with 422 unprocessable and reason mentions_not_allowed. An e-mail address is not a mention.
  • A personal e-mail address. It is refused with 400 invalid_request and reason personal_contact. A company address is fine.

Removing what you published

A removal answers 204. Stories and organization posts work the same way, at /stories/{story_id} and /v1/partner/org-posts/{post_id}. You can remove only what you created. Anything else answers 404 not_found, exactly like a row that does not exist. The pilot can remove anything on their own profile at any time, and your later removal then answers 404.

When a pilot cannot publish

A grant that is revoked answers 404 not_found, and so does a pilot whose account is suspended or is being deleted. Revoking a grant does not remove what you already published: it stays on the pilot’s profile until the pilot removes it.