Skip to content

Latest commit

 

History

History
5790 lines (3967 loc) · 75.5 KB

reference.md

File metadata and controls

5790 lines (3967 loc) · 75.5 KB

Reference

Token

client.token.authorizedBy() -> Webflow.AuthorizedUser

📝 Description

Information about the Authorized User

Required Scope | authorized_user:read

🔌 Usage

await client.token.authorizedBy();

⚙️ Parameters

requestOptions: Token.RequestOptions

client.token.introspect() -> Webflow.Authorization

📝 Description

Information about the authorization token

Access to this endpoint requires a bearer token from a Data Client App.

🔌 Usage

await client.token.introspect();

⚙️ Parameters

requestOptions: Token.RequestOptions

Sites

client.sites.list() -> Webflow.Sites

📝 Description

List of all sites the provided access token is able to access.

Required scope | sites:read

🔌 Usage

await client.sites.list();

⚙️ Parameters

requestOptions: Sites.RequestOptions

client.sites.get(siteId) -> Webflow.Site

📝 Description

Get a site by site id

Required scope | sites:read

🔌 Usage

await client.sites.get("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

requestOptions: Sites.RequestOptions

client.sites.getCustomDomain(siteId) -> Webflow.Domains

📝 Description

Get a list of all custom domains related to site.

Required scope | sites:read

🔌 Usage

await client.sites.getCustomDomain("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

requestOptions: Sites.RequestOptions

client.sites.publish(siteId, { ...params }) -> Webflow.SitesPublishResponse

📝 Description

Publish a site to one more more domains.

Required scope | sites:write

📘

Endpoint-specific rate limit

This endpoint has a limit of one successful publish queue per minute.

🔌 Usage

await client.sites.publish("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.SitesPublishRequest

requestOptions: Sites.RequestOptions

Collections

client.collections.list(siteId) -> Webflow.CollectionList

📝 Description

List of all Collections within a Site.

Required scope | cms:read

🔌 Usage

await client.collections.list("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

requestOptions: Collections.RequestOptions

client.collections.create(siteId, { ...params }) -> Webflow.Collection

📝 Description

Create a Collection for a site.

Required scope | cms:write

🔌 Usage

await client.collections.create("580e63e98c9a982ac9b8b741", {
    displayName: "Blog Posts",
    singularName: "Blog Post",
    slug: "posts",
});

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.CollectionsCreateRequest

requestOptions: Collections.RequestOptions

client.collections.get(collectionId) -> Webflow.Collection

📝 Description

Get the full details of a collection from its ID.

Required scope | cms:read

🔌 Usage

await client.collections.get("580e63fc8c9a982ac9b8b745");

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

requestOptions: Collections.RequestOptions

client.collections.deleteCollection(collectionId) -> void

📝 Description

Delete a collection using its ID.

Required scope | cms:write

🔌 Usage

await client.collections.deleteCollection("580e63fc8c9a982ac9b8b745");

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

requestOptions: Collections.RequestOptions

client.collections.delete(collectionId, fieldId) -> void

📝 Description

Delete a custom field in a collection. This endpoint does not currently support bulk deletion.

Required scope | cms:write

🔌 Usage

await client.collections.delete("580e63fc8c9a982ac9b8b745", "580e63fc8c9a982ac9b8b745");

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

fieldId: string — Unique identifier for a Field in a collection

requestOptions: Collections.RequestOptions

Pages

client.pages.list(siteId, { ...params }) -> Webflow.PageList

📝 Description

List of all pages for a site

Required scope | pages:read

🔌 Usage

await client.pages.list("580e63e98c9a982ac9b8b741", {
    locale: "65427cf400e02b306eaa04a0",
});

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.PagesListRequest

requestOptions: Pages.RequestOptions

client.pages.getMetadata(pageId, { ...params }) -> Webflow.Page

📝 Description

Get metadata information for a single page

Required scope | pages:read

🔌 Usage

await client.pages.getMetadata("63c720f9347c2139b248e552", {
    locale: "65427cf400e02b306eaa04a0",
});

⚙️ Parameters

pageId: string — Unique identifier for a Page

request: Webflow.PagesGetMetadataRequest

requestOptions: Pages.RequestOptions

client.pages.updatePageSettings(pageId, { ...params }) -> Webflow.Page

📝 Description

Update Page-level metadata, including SEO and Open Graph fields.

Required scope | pages:write

🔌 Usage

await client.pages.updatePageSettings("63c720f9347c2139b248e552", {
    locale: "65427cf400e02b306eaa04a0",
    body: {
        id: "6596da6045e56dee495bcbba",
        siteId: "6258612d1ee792848f805dcf",
        title: "Guide to the Galaxy",
        slug: "guide-to-the-galaxy",
        parentId: "6419db964a9c435aa3af6251",
        collectionId: "6390c49774a71f12831a08e3",
        createdOn: "2024-03-11T10:42:00Z",
        lastUpdated: "2024-03-11T10:42:42Z",
        archived: false,
        draft: false,
        canBranch: true,
        seo: {
            title: "The Ultimate Hitchhiker's Guide to the Galaxy",
            description:
                "Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.",
        },
        openGraph: {
            title: "Explore the Cosmos with The Ultimate Guide",
            titleCopied: false,
            description: "Dive deep into the mysteries of the universe with your guide to everything galactic.",
            descriptionCopied: false,
        },
        localeId: "653fd9af6a07fc9cfd7a5e57",
        publishedPath: "/en-us/guide-to-the-galaxy",
    },
});

⚙️ Parameters

pageId: string — Unique identifier for a Page

request: Webflow.UpdatePageSettingsRequest

requestOptions: Pages.RequestOptions

client.pages.getContent(pageId, { ...params }) -> Webflow.Dom

📝 Description

Get static content from a static page.
If you do not provide a Locale ID in your request, the response will return any content that can be localized from the Primary locale

Required scope | pages:read

🔌 Usage

await client.pages.getContent("63c720f9347c2139b248e552", {
    locale: "65427cf400e02b306eaa04a0",
});

⚙️ Parameters

pageId: string — Unique identifier for a Page

request: Webflow.PagesGetContentRequest

requestOptions: Pages.RequestOptions

client.pages.updateStaticContent(pageId, { ...params }) -> Webflow.UpdateStaticContentResponse

📝 Description

This endpoint allows for updating static content on a static page within a secondary locale. It is designed specifically for localized pages and can handle up to 1000 nodes per request.

Note:This endpoint is specifically for localized pages. Ensure that the locale specified is a valid secondary locale for the site.

Required scope | pages:write

🔌 Usage

await client.pages.updateStaticContent("63c720f9347c2139b248e552", {
    locale: "locale",
    nodes: [
        {
            nodeId: "a245c12d-995b-55ee-5ec7-aa36a6cad623",
            text: "<h1>The Hitchhiker's Guide to the Galaxy</h1>",
        },
        {
            nodeId: "a245c12d-995b-55ee-5ec7-aa36a6cad627",
            text: "<div><h3>Don't Panic!</h3><p>Always know where your towel is.</p></div>",
        },
        {
            nodeId: "a245c12d-995b-55ee-5ec7-aa36a6cad629",
            text: "<img alt='Marvin, the Paranoid Android' src='path/to/image/with/assetId/659595234426a9fcbad57043'/>",
        },
    ],
});

⚙️ Parameters

pageId: string — Unique identifier for a Page

request: Webflow.DomWrite

requestOptions: Pages.RequestOptions

Scripts

client.scripts.list(siteId) -> Webflow.RegisteredScriptList

📝 Description

List of scripts registered to a Site.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the registered_scripts endpoints, and then applied to a Site or Page using the appropriate custom_code endpoints. Additionally, Scripts can be remotely hosted, or registered as inline snippets.

Access to this endpoint requires a bearer token from a Data Client App.
Required scope | custom_code:read

🔌 Usage

await client.scripts.list("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

requestOptions: Scripts.RequestOptions

client.scripts.registerHosted(siteId, { ...params }) -> Webflow.CustomCodeHostedResponse

📝 Description

Add a script to a Site's Custom Code registry.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the registered_scripts endpoints, and then applied to a Site or Page using the appropriate custom_code endpoints. Additionally, Scripts can be remotely hosted, or registered as inline snippets.

Access to this endpoint requires a bearer token from a Data Client App.


Required scope | custom_code:write

🔌 Usage

await client.scripts.registerHosted("580e63e98c9a982ac9b8b741", {
    hostedLocation: "hostedLocation",
    integrityHash: "integrityHash",
    version: "version",
    displayName: "displayName",
});

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.CustomCodeHostedRequest

requestOptions: Scripts.RequestOptions

client.scripts.registerInline(siteId, { ...params }) -> Webflow.CustomCodeInlineResponse

📝 Description

Add a script to a Site's Custom Code registry. Inline scripts can be between 1 and 2000 characters.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the registered_scripts endpoints, and then applied to a Site or Page using the appropriate custom_code endpoints.

Access to this endpoint requires a bearer token from a Data Client App.
Required scope | custom_code:write

🔌 Usage

await client.scripts.registerInline("580e63e98c9a982ac9b8b741", {
    sourceCode: "alert('hello world');",
    version: "0.0.1",
    displayName: "Alert",
});

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.CustomCodeInlineRequest

requestOptions: Scripts.RequestOptions

Assets

client.assets.list(siteId) -> Webflow.Assets

📝 Description

List assets for a given site

Required scope | assets:read

🔌 Usage

await client.assets.list("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

requestOptions: Assets.RequestOptions

client.assets.create(siteId, { ...params }) -> Webflow.AssetUpload

📝 Description

Create a new asset entry.

This endpoint generates a response with the following information: uploadUrl and uploadDetails. You can use these two properties to upload the file to Amazon s3 by making a POST request to the uploadUrl with the uploadDetails object as your header information in the request.

Required scope | assets:write

🔌 Usage

await client.assets.create("580e63e98c9a982ac9b8b741", {
    fileName: "file.png",
    fileHash: "3c7d87c9575702bc3b1e991f4d3c638e",
});

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.AssetsCreateRequest

requestOptions: Assets.RequestOptions

client.assets.get(assetId) -> Webflow.Asset

📝 Description

Get an Asset

Required scope | assets:read

🔌 Usage

await client.assets.get("580e63fc8c9a982ac9b8b745");

⚙️ Parameters

assetId: string — Unique identifier for an Asset on a site

requestOptions: Assets.RequestOptions

client.assets.delete(assetId) -> void

📝 Description

Delete an Asset

🔌 Usage

await client.assets.delete("580e63fc8c9a982ac9b8b745");

⚙️ Parameters

assetId: string — Unique identifier for an Asset on a site

requestOptions: Assets.RequestOptions

client.assets.update(assetId, { ...params }) -> Webflow.Asset

📝 Description

Update an Asset

Required scope | assets:write

🔌 Usage

await client.assets.update("580e63fc8c9a982ac9b8b745", {
    displayName: "bulldoze.png",
});

⚙️ Parameters

assetId: string — Unique identifier for an Asset on a site

request: Webflow.AssetsUpdateRequest

requestOptions: Assets.RequestOptions

client.assets.listFolders(siteId) -> Webflow.AssetFolderList

📝 Description

List Asset Folders within a given site

Required scope | assets:read

🔌 Usage

await client.assets.listFolders("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

requestOptions: Assets.RequestOptions

client.assets.createFolder(siteId, { ...params }) -> Webflow.AssetFolder

📝 Description

Create an Asset Folder within a given site

Required scope | assets:write

🔌 Usage

await client.assets.createFolder("580e63e98c9a982ac9b8b741", {
    displayName: "my asset folder",
});

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.AssetsCreateFolderRequest

requestOptions: Assets.RequestOptions

client.assets.getFolder(assetFolderId) -> Webflow.AssetFolder

📝 Description

Get details about a specific Asset Folder

Required scope | assets:read

🔌 Usage

await client.assets.getFolder("6390c49774a71f0e3c1a08ee");

⚙️ Parameters

assetFolderId: string — Unique identifier for an Asset Folder

requestOptions: Assets.RequestOptions

Webhooks

client.webhooks.list(siteId) -> Webflow.WebhookList

📝 Description

List all App-created Webhooks registered for a given site

Required scope | sites:read

🔌 Usage

await client.webhooks.list("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

requestOptions: Webhooks.RequestOptions

client.webhooks.create(siteId, { ...params }) -> Webflow.Webhook

📝 Description

Create a new Webhook, to be notified when Webflow resources change. Limit of 75 registrations per triggerType, per site.

Access to this endpoint requires a bearer token from a Data Client App.
Required scope | sites:write

🔌 Usage

await client.webhooks.create("580e63e98c9a982ac9b8b741", {
    id: "582266e0cd48de0f0e3c6d8b",
    triggerType: "form_submission",
    url: "https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f",
    workspaceId: "4f4e46fd476ea8c507000001",
    siteId: "562ac0395358780a1f5e6fbd",
    lastTriggered: "2023-02-08T23:59:28Z",
    createdOn: "2022-11-08T23:59:28Z",
});

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.Webhook

requestOptions: Webhooks.RequestOptions

client.webhooks.get(webhookId) -> Webflow.Webhook

📝 Description

Get a specific Webhook instance

🔌 Usage

await client.webhooks.get("580e64008c9a982ac9b8b754");

⚙️ Parameters

webhookId: string — Unique identifier for a Webhook

requestOptions: Webhooks.RequestOptions

client.webhooks.delete(webhookId) -> void

📝 Description

Remove a Webhook

🔌 Usage

await client.webhooks.delete("580e64008c9a982ac9b8b754");

⚙️ Parameters

webhookId: string — Unique identifier for a Webhook

requestOptions: Webhooks.RequestOptions

Forms

client.forms.list(siteId, { ...params }) -> Webflow.FormList

📝 Description

List forms for a given site

Required scope | forms:read

🔌 Usage

await client.forms.list("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.FormsListRequest

requestOptions: Forms.RequestOptions

client.forms.get(formId) -> Webflow.Form

📝 Description

Get information about a given form

Required scope | forms:read

🔌 Usage

await client.forms.get("580e63e98c9a982ac9b8b741");

⚙️ Parameters

formId: string — Unique identifier for a Form

requestOptions: Forms.RequestOptions

client.forms.listSubmissions(formId, { ...params }) -> Webflow.FormSubmissionList

📝 Description

List form submissions for a given form

Required scope | forms:read

🔌 Usage

await client.forms.listSubmissions("580e63e98c9a982ac9b8b741");

⚙️ Parameters

formId: string — Unique identifier for a Form

request: Webflow.FormsListSubmissionsRequest

requestOptions: Forms.RequestOptions

client.forms.getSubmission(formSubmissionId) -> Webflow.FormSubmission

📝 Description

Get information about a given form submission

Required scope | forms:read

🔌 Usage

await client.forms.getSubmission("580e63e98c9a982ac9b8b741");

⚙️ Parameters

formSubmissionId: string — Unique identifier for a Form Submission

requestOptions: Forms.RequestOptions

client.forms.updateSubmission(formSubmissionId, { ...params }) -> Webflow.FormSubmission

📝 Description

Update hidden fields on a form submission

Required scope | forms:write

🔌 Usage

await client.forms.updateSubmission("580e63e98c9a982ac9b8b741");

⚙️ Parameters

formSubmissionId: string — Unique identifier for a Form Submission

request: Webflow.FormsUpdateSubmissionRequest

requestOptions: Forms.RequestOptions

Users

client.users.list(siteId, { ...params }) -> Webflow.UserList

📝 Description

Get a list of users for a site

Required scope | users:read

🔌 Usage

await client.users.list("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.UsersListRequest

requestOptions: Users.RequestOptions

client.users.get(siteId, userId) -> Webflow.User

📝 Description

Get a User by ID

Required scope | users:read

🔌 Usage

await client.users.get("580e63e98c9a982ac9b8b741", "580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

userId: string — Unique identifier for a User

requestOptions: Users.RequestOptions

client.users.delete(siteId, userId) -> void

📝 Description

Delete a User by ID

Required scope | users:write

🔌 Usage

await client.users.delete("580e63e98c9a982ac9b8b741", "580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

userId: string — Unique identifier for a User

requestOptions: Users.RequestOptions

client.users.update(siteId, userId, { ...params }) -> Webflow.User

📝 Description

Update a User by ID

Required scope | users:write

The email and password fields cannot be updated using this endpoint

🔌 Usage

await client.users.update("580e63e98c9a982ac9b8b741", "580e63e98c9a982ac9b8b741", {
    data: {
        name: "Some One",
        acceptPrivacy: false,
        acceptCommunications: false,
    },
    accessGroups: ["webflowers", "platinum", "free-tier"],
});

⚙️ Parameters

siteId: string — Unique identifier for a Site

userId: string — Unique identifier for a User

request: Webflow.UsersUpdateRequest

requestOptions: Users.RequestOptions

client.users.invite(siteId, { ...params }) -> Webflow.User

📝 Description

Create and invite a user with an email address. The user will be sent and invite via email, which they will need to accept in order to join paid Access Groups.

Required scope | users:write

🔌 Usage

await client.users.invite("580e63e98c9a982ac9b8b741", {
    email: "[email protected]",
    accessGroups: ["webflowers"],
});

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.UsersInviteRequest

requestOptions: Users.RequestOptions

AccessGroups

client.accessGroups.list(siteId, { ...params }) -> Webflow.AccessGroupList

📝 Description

Get a list of access groups for a site

Required scope | users:read

🔌 Usage

await client.accessGroups.list("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.AccessGroupsListRequest

requestOptions: AccessGroups.RequestOptions

Products

client.products.list(siteId, { ...params }) -> Webflow.ProductAndSkUsList

📝 Description

Retrieve all products for a site. Use limit and offset to page through all products with subsequent requests. All SKUs for each product will also be fetched and returned. The limit, offset and total values represent Products only and do not include any SKUs.

Required scope | ecommerce:read

🔌 Usage

await client.products.list("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.ProductsListRequest

requestOptions: Products.RequestOptions

client.products.create(siteId, { ...params }) -> Webflow.ProductAndSkUs

📝 Description

Creating a new Product involves creating both a Product and a SKU, since a Product Item has to have, at minimum, a single SKU.

In order to create a Product with multiple SKUs - for example a T-shirt in sizes small, medium and large - you'll need to create sku-properties. In our T-shirt example, a single sku-property would be Color. Within that property, we'll need to list out the various colors a T-shirt could be as an array of enum values: royal-blue, crimson-red, and forrest-green.

Once, you've created a Product and its sku-properties with enum values, you can create your default SKU, which will automatically be a combination of the first sku-properties you've created. In our example, the default SKU will be a Royal Blue T-Shirt, because our first enum of our Color sku-property is Royal Blue. After you've created your product, you can create additional SKUs using the Create SKU endpoint

Upon creation, the default product type will be Advanced. The product type is used to determine which Product and SKU fields are shown to users in the Designer and the Editor. Setting it to Advanced ensures that all Product and SKU fields will be shown.

Required scope | ecommerce:write

🔌 Usage

await client.products.create("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.ProductSkuCreate

requestOptions: Products.RequestOptions

client.products.get(siteId, productId) -> Webflow.ProductAndSkUs

📝 Description

Retrieve a single product by its id. All of its SKUs will also be retrieved.

Required scope | ecommerce:read

🔌 Usage

await client.products.get("580e63e98c9a982ac9b8b741", "580e63fc8c9a982ac9b8b745");

⚙️ Parameters

siteId: string — Unique identifier for a Site

productId: string — Unique identifier for a Product

requestOptions: Products.RequestOptions

client.products.update(siteId, productId, { ...params }) -> Webflow.Product

📝 Description

Updating an existing Product will set the product type to Advanced. The product type is used to determine which Product and SKU fields are shown to users in the Designer and the Editor. Setting it to Advanced ensures that all Product and SKU fields will be shown. The product type can be edited in the Designer or the Editor.

Required scope | ecommerce:write

🔌 Usage

await client.products.update("580e63e98c9a982ac9b8b741", "580e63fc8c9a982ac9b8b745");

⚙️ Parameters

siteId: string — Unique identifier for a Site

productId: string — Unique identifier for a Product

request: Webflow.ProductSkuUpdate

requestOptions: Products.RequestOptions

client.products.createSku(siteId, productId, { ...params }) -> Webflow.ProductsCreateSkuResponse

📝 Description

Create additional SKUs to cover every variant of your Product. The Default SKU already counts as one of the variants.

Creating additional SKUs will set the product type to Advanced for the product associated with the SKUs. The product type is used to determine which Product and SKU fields are shown to users in the Designer and the Editor. Setting it to Advanced ensures that all Product and SKU fields will be shown. The product type can be edited in the Designer or the Editor.

Required scope | ecommerce:write

🔌 Usage

await client.products.createSku("580e63e98c9a982ac9b8b741", "580e63fc8c9a982ac9b8b745", {
    skus: [{}],
});

⚙️ Parameters

siteId: string — Unique identifier for a Site

productId: string — Unique identifier for a Product

request: Webflow.ProductsCreateSkuRequest

requestOptions: Products.RequestOptions

client.products.updateSku(siteId, productId, skuId, { ...params }) -> Webflow.Sku

📝 Description

Updating an existing SKU will set the product type to Advanced for the product associated with the SKU. The product type is used to determine which Product and SKU fields are shown to users in the Designer and the Editor. Setting it to Advanced ensures that all Product and SKU fields will be shown. The product type can be edited in the Designer or the Editor.

Required scope | ecommerce:write

🔌 Usage

await client.products.updateSku("580e63e98c9a982ac9b8b741", "580e63fc8c9a982ac9b8b745", "5e8518516e147040726cc415", {
    sku: {},
});

⚙️ Parameters

siteId: string — Unique identifier for a Site

productId: string — Unique identifier for a Product

skuId: string — Unique identifier for a SKU

request: Webflow.ProductsUpdateSkuRequest

requestOptions: Products.RequestOptions

Orders

client.orders.list(siteId, { ...params }) -> Webflow.OrderList

📝 Description

List all orders created for a given site.

Required scope | ecommerce:read

🔌 Usage

await client.orders.list("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.OrdersListRequest

requestOptions: Orders.RequestOptions

client.orders.get(siteId, orderId) -> Webflow.Order

📝 Description

Retrieve a single product by its id. All of its SKUs will also be retrieved.

Required scope | ecommerce:read

🔌 Usage

await client.orders.get("580e63e98c9a982ac9b8b741", "5e8518516e147040726cc415");

⚙️ Parameters

siteId: string — Unique identifier for a Site

orderId: string — Unique identifier for an Order

requestOptions: Orders.RequestOptions

client.orders.update(siteId, orderId, { ...params }) -> Webflow.Order

📝 Description

This API lets you update the fields, comment, shippingProvider, and/or shippingTracking for a given order. All three fields can be updated simultaneously or independently.

Required scope | ecommerce:write

🔌 Usage

await client.orders.update("580e63e98c9a982ac9b8b741", "5e8518516e147040726cc415");

⚙️ Parameters

siteId: string — Unique identifier for a Site

orderId: string — Unique identifier for an Order

request: Webflow.OrdersUpdateRequest

requestOptions: Orders.RequestOptions

client.orders.updateFulfill(siteId, orderId, { ...params }) -> Webflow.Order

📝 Description

Updates an order's status to fulfilled

Required scope | ecommerce:write

🔌 Usage

await client.orders.updateFulfill("580e63e98c9a982ac9b8b741", "5e8518516e147040726cc415");

⚙️ Parameters

siteId: string — Unique identifier for a Site

orderId: string — Unique identifier for an Order

request: Webflow.OrdersUpdateFulfillRequest

requestOptions: Orders.RequestOptions

client.orders.updateUnfulfill(siteId, orderId) -> Webflow.Order

📝 Description

Updates an order's status to unfulfilled

Required scope | ecommerce:write

🔌 Usage

await client.orders.updateUnfulfill("580e63e98c9a982ac9b8b741", "5e8518516e147040726cc415");

⚙️ Parameters

siteId: string — Unique identifier for a Site

orderId: string — Unique identifier for an Order

requestOptions: Orders.RequestOptions

client.orders.refund(siteId, orderId, { ...params }) -> Webflow.Order

📝 Description

This API will reverse a Stripe charge and refund an order back to a customer. It will also set the order's status to refunded.

Required scope | ecommerce:write

🔌 Usage

await client.orders.refund("580e63e98c9a982ac9b8b741", "5e8518516e147040726cc415");

⚙️ Parameters

siteId: string — Unique identifier for a Site

orderId: string — Unique identifier for an Order

request: Webflow.OrdersRefundRequest

requestOptions: Orders.RequestOptions

Inventory

client.inventory.list(collectionId, itemId) -> Webflow.InventoryItem

📝 Description

List the current inventory levels for a particular SKU item.

Required scope | ecommerce:read

🔌 Usage

await client.inventory.list("580e63fc8c9a982ac9b8b745", "580e64008c9a982ac9b8b754");

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

itemId: string — Unique identifier for an Item

requestOptions: Inventory.RequestOptions

client.inventory.update(collectionId, itemId, { ...params }) -> Webflow.InventoryItem

📝 Description

Updates the current inventory levels for a particular SKU item. Updates may be given in one or two methods, absolutely or incrementally. Absolute updates are done by setting quantity directly. Incremental updates are by specifying the inventory delta in updateQuantity which is then added to the quantity stored on the server.

Required scope | ecommerce:write

🔌 Usage

await client.inventory.update("580e63fc8c9a982ac9b8b745", "580e64008c9a982ac9b8b754", {
    inventoryType: "infinite",
});

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

itemId: string — Unique identifier for an Item

request: Webflow.InventoryUpdateRequest

requestOptions: Inventory.RequestOptions

Ecommerce

client.ecommerce.getSettings(siteId) -> Webflow.EcommerceSettings

📝 Description

Retrieve ecommerce settings for a site.

Required scope | ecommerce:read

🔌 Usage

await client.ecommerce.getSettings("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

requestOptions: Ecommerce.RequestOptions

Collections Fields

client.collections.fields.create(collectionId, { ...params }) -> Webflow.Field

📝 Description

Create a custom field in a collection.

Slugs must be all lowercase letters without spaces. If you pass a string with uppercase letters and/or spaces to the "Slug" property, Webflow will convert the slug to lowercase and replace spaces with "-."

Only some field types can be created through the API. This endpoint does not currently support bulk creation.

Required scope | cms:write

🔌 Usage

await client.collections.fields.create("580e63fc8c9a982ac9b8b745", {
    isRequired: false,
    type: "RichText",
    displayName: "Post Body",
    helpText: "Add the body of your post here",
});

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

request: Webflow.collections.FieldCreate

requestOptions: Fields.RequestOptions

client.collections.fields.update(collectionId, fieldId, { ...params }) -> Webflow.Field

📝 Description

Update a custom field in a collection.

Required scope | cms:write

🔌 Usage

await client.collections.fields.update("580e63fc8c9a982ac9b8b745", "580e63fc8c9a982ac9b8b745", {
    isRequired: false,
    displayName: "Post Body",
    helpText: "Add the body of your post here",
});

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

fieldId: string — Unique identifier for a Field in a collection

request: Webflow.collections.FieldUpdate

requestOptions: Fields.RequestOptions

Collections Items

client.collections.items.listItems(collectionId, { ...params }) -> Webflow.CollectionItemList

📝 Description

List of all Items within a Collection.

Required scope | CMS:read

🔌 Usage

await client.collections.items.listItems("580e63fc8c9a982ac9b8b745");

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

request: Webflow.collections.ItemsListItemsRequest

requestOptions: Items.RequestOptions

client.collections.items.createItem(collectionId, { ...params }) -> Webflow.CollectionItem

📝 Description

<style>.rm-Markdown.markdown-body a{color: #146EF5 !important;}</style> Create Item in a Collection.

To create items across multiple locales, please use the bulk item endpoint.

Required scope | CMS:write

🔌 Usage

await client.collections.items.createItem("580e63fc8c9a982ac9b8b745", {
    id: "42b720ef280c7a7a3be8cabe",
    cmsLocaleId: "653ad57de882f528b32e810e",
    lastPublished: "2022-11-29T16:22:43.159Z",
    lastUpdated: "2022-11-17T17:19:43.282Z",
    createdOn: "2022-11-17T17:11:57.148Z",
    isArchived: false,
    isDraft: false,
    fieldData: {
        name: "Pan Galactic Gargle Blaster Recipe",
        slug: "pan-galactic-gargle-blaster",
    },
});

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

request: Webflow.CollectionItem

requestOptions: Items.RequestOptions

client.collections.items.listItemsLive(collectionId, { ...params }) -> Webflow.CollectionItemList

📝 Description

List of all live Items within a Collection.

Required scope | CMS:read

🔌 Usage

await client.collections.items.listItemsLive("580e63fc8c9a982ac9b8b745");

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

request: Webflow.collections.ItemsListItemsLiveRequest

requestOptions: Items.RequestOptions

client.collections.items.createItemLive(collectionId, { ...params }) -> Webflow.CollectionItem

📝 Description

Create live Item in a Collection. This Item will be published to the live site.

To create items across multiple locales, please use this endpoint.

Required scope | CMS:write

🔌 Usage

await client.collections.items.createItemLive("580e63fc8c9a982ac9b8b745", {
    id: "42b720ef280c7a7a3be8cabe",
    cmsLocaleId: "653ad57de882f528b32e810e",
    lastPublished: "2022-11-29T16:22:43.159Z",
    lastUpdated: "2022-11-17T17:19:43.282Z",
    createdOn: "2022-11-17T17:11:57.148Z",
    isArchived: false,
    isDraft: false,
    fieldData: {
        name: "Pan Galactic Gargle Blaster Recipe",
        slug: "pan-galactic-gargle-blaster",
    },
});

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

request: Webflow.CollectionItem

requestOptions: Items.RequestOptions

client.collections.items.createItemForMultipleLocales(collectionId, { ...params }) -> Webflow.BulkCollectionItem

📝 Description

Create single Item in a Collection with multiple corresponding locales.

Required scope | CMS:write

🔌 Usage

await client.collections.items.createItemForMultipleLocales("580e63fc8c9a982ac9b8b745", {
    id: "580e64008c9a982ac9b8b754",
});

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

request: Webflow.BulkCollectionItem

requestOptions: Items.RequestOptions

client.collections.items.getItem(collectionId, itemId, { ...params }) -> Webflow.CollectionItem

📝 Description

Get details of a selected Collection Item.

Required scope | CMS:read

🔌 Usage

await client.collections.items.getItem("580e63fc8c9a982ac9b8b745", "580e64008c9a982ac9b8b754");

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

itemId: string — Unique identifier for an Item

request: Webflow.collections.ItemsGetItemRequest

requestOptions: Items.RequestOptions

client.collections.items.deleteItem(collectionId, itemId, { ...params }) -> void

📝 Description

Delete an Item from a Collection. This endpoint does not currently support bulk deletion.

Required scope | CMS:write

🔌 Usage

await client.collections.items.deleteItem("580e63fc8c9a982ac9b8b745", "580e64008c9a982ac9b8b754");

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

itemId: string — Unique identifier for an Item

request: Webflow.collections.ItemsDeleteItemRequest

requestOptions: Items.RequestOptions

client.collections.items.updateItem(collectionId, itemId, { ...params }) -> Webflow.CollectionItem

📝 Description

Update a selected Item in a Collection.

Required scope | CMS:write

🔌 Usage

await client.collections.items.updateItem("580e63fc8c9a982ac9b8b745", "580e64008c9a982ac9b8b754", {
    id: "42b720ef280c7a7a3be8cabe",
    cmsLocaleId: "653ad57de882f528b32e810e",
    lastPublished: "2022-11-29T16:22:43.159Z",
    lastUpdated: "2022-11-17T17:19:43.282Z",
    createdOn: "2022-11-17T17:11:57.148Z",
    isArchived: false,
    isDraft: false,
    fieldData: {
        name: "Pan Galactic Gargle Blaster Recipe",
        slug: "pan-galactic-gargle-blaster",
    },
});

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

itemId: string — Unique identifier for an Item

request: Webflow.CollectionItem

requestOptions: Items.RequestOptions

client.collections.items.getItemLive(collectionId, itemId, { ...params }) -> Webflow.CollectionItem

📝 Description

Get details of a selected Collection live Item.

Required scope | CMS:read

🔌 Usage

await client.collections.items.getItemLive("580e63fc8c9a982ac9b8b745", "580e64008c9a982ac9b8b754");

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

itemId: string — Unique identifier for an Item

request: Webflow.collections.ItemsGetItemLiveRequest

requestOptions: Items.RequestOptions

client.collections.items.deleteItemLive(collectionId, itemId, { ...params }) -> void

📝 Description

Remove a live item from the site. Removing a published item will unpublish the item from the live site and set it to draft. This endpoint does not currently support bulk deletion.

Required scope | CMS:write

🔌 Usage

await client.collections.items.deleteItemLive("580e63fc8c9a982ac9b8b745", "580e64008c9a982ac9b8b754");

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

itemId: string — Unique identifier for an Item

request: Webflow.collections.ItemsDeleteItemLiveRequest

requestOptions: Items.RequestOptions

client.collections.items.updateItemLive(collectionId, itemId, { ...params }) -> Webflow.CollectionItem

📝 Description

Update a selected live Item in a Collection. The updates for this Item will be published to the live site.

Required scope | CMS:write

🔌 Usage

await client.collections.items.updateItemLive("580e63fc8c9a982ac9b8b745", "580e64008c9a982ac9b8b754", {
    id: "42b720ef280c7a7a3be8cabe",
    cmsLocaleId: "653ad57de882f528b32e810e",
    lastPublished: "2022-11-29T16:22:43.159Z",
    lastUpdated: "2022-11-17T17:19:43.282Z",
    createdOn: "2022-11-17T17:11:57.148Z",
    isArchived: false,
    isDraft: false,
    fieldData: {
        name: "Pan Galactic Gargle Blaster Recipe",
        slug: "pan-galactic-gargle-blaster",
    },
});

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

itemId: string — Unique identifier for an Item

request: Webflow.CollectionItem

requestOptions: Items.RequestOptions

client.collections.items.publishItem(collectionId, { ...params }) -> Webflow.ItemsPublishItemResponse

📝 Description

Publish an item or multiple items.

Required scope | cms:write

🔌 Usage

await client.collections.items.publishItem("580e63fc8c9a982ac9b8b745", {
    itemIds: ["itemIds"],
});

⚙️ Parameters

collectionId: string — Unique identifier for a Collection

request: Webflow.collections.ItemsPublishItemRequest

requestOptions: Items.RequestOptions

Pages Scripts

client.pages.scripts.getCustomCode(pageId) -> Webflow.ScriptApplyList

📝 Description

Get all registered scripts that have been applied to a specific Page.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the registered_scripts endpoints, and then applied to a Site or Page using the appropriate custom_code endpoints.

Access to this endpoint requires a bearer token from a Data Client App.
Required scope | custom_code:read

🔌 Usage

await client.pages.scripts.getCustomCode("63c720f9347c2139b248e552");

⚙️ Parameters

pageId: string — Unique identifier for a Page

requestOptions: Scripts.RequestOptions

client.pages.scripts.upsertCustomCode(pageId, { ...params }) -> Webflow.ScriptApplyList

📝 Description

Add a registered script to a Page.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the registered_scripts endpoints, and then applied to a Site or Page using the appropriate custom_code endpoints.

Access to this endpoint requires a bearer token from a Data Client App.
Required scope | custom_code:write

🔌 Usage

await client.pages.scripts.upsertCustomCode("63c720f9347c2139b248e552", {
    scripts: [
        {
            id: "cms_slider",
            location: "header",
            version: "1.0.0",
            attributes: {
                "my-attribute": "some-value",
            },
        },
        {
            id: "alert",
            location: "header",
            version: "0.0.1",
        },
    ],
});

⚙️ Parameters

pageId: string — Unique identifier for a Page

request: Webflow.ScriptApplyList

requestOptions: Scripts.RequestOptions

client.pages.scripts.deleteCustomCode(pageId) -> void

📝 Description

Delete the custom code block that an app has created for a page

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the registered_scripts endpoints, and then applied to a Site or Page using the appropriate custom_code endpoints.

Access to this endpoint requires a bearer token from a Data Client App.
Required scope | custom_code:write

🔌 Usage

await client.pages.scripts.deleteCustomCode("63c720f9347c2139b248e552");

⚙️ Parameters

pageId: string — Unique identifier for a Page

requestOptions: Scripts.RequestOptions

Sites ActivityLogs

client.sites.activityLogs.list(siteId, { ...params }) -> Webflow.SiteActivityLogResponse

📝 Description

Retrieve Activity Logs for a specific Site. Requires Site to be on an Enterprise plan.

Required scope | site_activity:read

🔌 Usage

await client.sites.activityLogs.list("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.sites.ActivityLogsListRequest

requestOptions: ActivityLogs.RequestOptions

Sites Scripts

client.sites.scripts.getCustomCode(siteId) -> Webflow.ScriptApplyList

📝 Description

Get all registered scripts that have been applied to a specific Site.

Access to this endpoint requires a bearer token from a Data Client App.
Required scope | custom_code:read

🔌 Usage

await client.sites.scripts.getCustomCode("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

requestOptions: Scripts.RequestOptions

client.sites.scripts.upsertCustomCode(siteId, { ...params }) -> Webflow.ScriptApplyList

📝 Description

Add a registered script to a Site.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the registered_scripts endpoints, and then applied to a Site or Page using the appropriate custom_code endpoints.

Access to this endpoint requires a bearer token from a Data Client App.
Required scope | custom_code:write

🔌 Usage

await client.sites.scripts.upsertCustomCode("580e63e98c9a982ac9b8b741", {
    scripts: [
        {
            id: "cms_slider",
            location: "header",
            version: "1.0.0",
            attributes: {
                "my-attribute": "some-value",
            },
        },
        {
            id: "alert",
            location: "header",
            version: "0.0.1",
        },
    ],
});

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.ScriptApplyList

requestOptions: Scripts.RequestOptions

client.sites.scripts.deleteCustomCode(siteId) -> void

📝 Description

Delete the custom code block that an app created for a Site

Access to this endpoint requires a bearer token from a Data Client App.
Required scope | custom_code:write

🔌 Usage

await client.sites.scripts.deleteCustomCode("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

requestOptions: Scripts.RequestOptions

client.sites.scripts.listCustomCodeBlocks(siteId, { ...params }) -> Webflow.ListCustomCodeBlocks

📝 Description

Get all instances of Custom Code applied to a Site or Pages.

Access to this endpoint requires a bearer token from a Data Client App.
Required scope | custom_code:read

🔌 Usage

await client.sites.scripts.listCustomCodeBlocks("580e63e98c9a982ac9b8b741");

⚙️ Parameters

siteId: string — Unique identifier for a Site

request: Webflow.sites.ScriptsListCustomCodeBlocksRequest

requestOptions: Scripts.RequestOptions