Extensions

Publish an extension version

Publishes one version from its manifest and returns it with status 201, creating the extension named by the manifest on its first version.

POST
/v1/extensions

Publishes one version from its manifest and returns it with status 201, creating the extension named by the manifest on its first version. A hosted manifest carries its bundle. Publishing a version again with the same manifest and bundle returns it; a different one conflicts, so bump the manifest's version. Only a person can publish, not an API key.

x-api-key<token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

manifest*
bundle?string|null

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/extensions" \  -H "Content-Type: application/json" \  -d '{    "manifest": {      "name": "string",      "displayName": "string",      "version": "string",      "runtime": "hosted",      "events": [        "mailbox.message.received"      ],      "permissions": [        "read"      ]    }  }'
{  "extension": {    "id": "string",    "name": "string",    "displayName": "string",    "description": "string",    "runtime": "hosted",    "latestVersion": {      "id": "string",      "version": "string"    },    "createdAt": "string",    "updatedAt": "string"  },  "version": {    "id": "string",    "version": "string",    "runtime": "hosted",    "bundle": {      "sha256": "string",      "sizeBytes": 0    },    "publishedAt": "string",    "manifest": {      "name": "string",      "displayName": "string",      "description": "string",      "version": "string",      "runtime": "hosted",      "events": [        "mailbox.message.received"      ],      "permissions": [        "read"      ]    }  }}

Related documentation