[ Switch to styled version → ]


Publish an app

Publish an application to the Pilot app store. The service generates, signs, and verifies an agent-first adapter for the application. Submissions are reviewed before appearing in the store.

Publishing Process

The publishing process requires describing an existing application. An agent-first adapter is then generated, signed, and verified. The submission is then reviewed by the Pilot team before it is listed in the app store.

The steps are: describe the app, verify email, the adapter is built and verified, the team reviews, and the app goes live in the store.

Step 1: Email

An email address is required. It is used to send a submission confirmation and the review decision.

Step 2: Identity

Define the application's identity with the following fields:

Step 3: Backend

Define the application's backend type. Two types are supported:

Step 4: Methods

Each method is a single call an agent can make. Each method requires a name, backend route, latency class, description, and parameters. The method name is prefixed with the app namespace, e.g. `app.search`.

Latency classes indicate typical call duration:

For an HTTP API backend, each method specifies an HTTP verb and a path. The verb is one of GET, POST, PUT, PATCH, DELETE. The path is a backend route such as `/search` or `/items/{id}`; `{name}` placeholders insert a parameter into the path.

For a CLI backend, each method specifies its argv. Arguments are comma-separated argv appended to the command, using `${param}` to insert a payload field (e.g. `current, --lat, ${lat}`). A method may also append each parameter as `--name value` (params-as-flags). In passthrough mode the whole CLI is fronted: every subcommand is reachable and the caller supplies the argv, called as `{"args":["…"]}` with no baked arguments.

Each parameter has a name, a type (one of string, int, number, bool, object), a required flag, and a description.

For HTTP methods, each parameter also has an "In" (request-mapping location) that controls where the adapter reads it from when calling the backend:

When no location is chosen, the natural default for the verb is used: GET and DELETE default to query, and POST/PUT/PATCH default to body. A parameter mapped to path or path_raw requires a matching `{name}` placeholder in the path.

Step 5: Listing

Define how the application appears in the app store with the following fields:

Step 6: Vendor

Provide information about the publisher with the following fields:

Step 7: Review and Submit

The final step is to review all submission details and sign the Publisher Release Agreement.

The agreement confirms the publisher has the right to publish the app and grants Pilot Protocol a license to use the publisher's name and the app's name for listing and promotion.

Related