Skip to main content
PUT
Replace an app's manifest

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

app_slug
string
required

The app's slug. The app's unique, permanent name: 1-256 lowercase letters, digits or underscores. Chosen at creation and never changes. Slugs are unique regardless of case, so a slug that differs from an existing one only by case is taken.

Pattern: ^[a-z0-9_]{1,256}$
Example:

"facebook_connector"

Body

application/json

What the app is, what it can do, and how it is listed. Only manifest_version and display_name are required; everything else may be left out while the app is pending. An active app must also fill the listing card: short_description, long_description, icon, headline_image, background_color and developer_information.

manifest_version
enum<string>
required

The manifest format. 1.0.0 is the only supported version.

Available options:
1.0.0
display_name
string
required

The app's name as shown to users. Non-empty, at most 256 characters.

Example:

"Facebook Connector"

capabilities
enum<string>[]
  • destination_connector: delivers data to an external destination.
  • model_connector: connects a model.
  • connector_api: implements the connector API at api_url, which Narrative calls.
Available options:
destination_connector,
model_connector,
connector_api
api_url
string

The app's own API. Required when capabilities includes connector_api. Must be an absolute https URL.

Example:

"https://facebook-connector.example.com/api"

required_scopes
object[]

The permissions an installing company grants the app. admin access is not allowed.

app_token_scopes
object[]

The permissions of tokens issued to the app itself through POST /oauth/token. admin access is not allowed.

ui_url
string

Where the app's UI is served. Must be an absolute https URL.

Example:

"https://facebook-connector.example.com"

launch_path
object

Where opening the app takes the user.

embedding
object
pages
object[]
listing
object

How the app appears in the marketplace.

Response

OK

type
enum<string>
required
Available options:
owned
id
integer
required

The app's id. Installations refer to the app by it.

Example:

42

slug
string
required

The app's unique, permanent name: 1-256 lowercase letters, digits or underscores. Chosen at creation and never changes. Slugs are unique regardless of case, so a slug that differs from an existing one only by case is taken.

Pattern: ^[a-z0-9_]{1,256}$
Example:

"facebook_connector"

status
enum<string>
required
  • pending: visible to and installable by the owning company only.
  • active: visible to and installable by every company.
  • archived: visible to nobody.
Available options:
pending,
active,
archived
manifest
object
required

What the app is, what it can do, and how it is listed. Only manifest_version and display_name are required; everything else may be left out while the app is pending. An active app must also fill the listing card: short_description, long_description, icon, headline_image, background_color and developer_information.

client_id
string
required

The app's OAuth client id, hex-encoded — the form POST /oauth/token accepts.

Example:

"85b558340b635861575c462a10df3bd5"

created_at
string
required

An ISO-8601 local date-time in UTC, without an offset.

Example:

"2026-09-24T17:21:03.120581"

updated_at
string
required

An ISO-8601 local date-time in UTC, without an offset.

Example:

"2026-09-24T17:21:03.120581"