REST API

Arcade’s REST API allows you to programmatically create Arcades from videos and interaction data.

circle-info

The API is available to all users in the Enterprise plan. If you're interested in testing the API or trialing Enterprise, reach out to our sales team ([email protected]).

The Arcade API is actively being developed and subject to changes. Only a subset of what’s possible in the app is covered by the API. Let us know which features you want to see on the API first!

Authentication

How do I authenticate with the API?

First, generate an API key:

  1. Go to Settings > Advanced in your Arcade team dashboard.

  2. Generate a new API key.

Then, include the API key in the authorization header of all requests:

makefileCopyEditauthorization: YOUR_API_KEY

All requests are made to https://api.arcade.software.

spinner

Creating an Arcade from a Video

This API flow lets you programmatically create an Arcade from a video and a list of interaction events.


Step 1: How do I generate an upload URL?

Method: POST Endpoint: /generate-upload-url URL: https://api.arcade.software/generate-upload-url

Headers:

Body:

Response:


Step 2: How do I upload the video?

Method: PUT URL: Use the uploadUrl from Step 1

Headers:

Body:

Binary video file (e.g. .webm, .mp4, or .mov)


Step 3: How do I create the Arcade?

Method: POST URL: https://api.arcade.software/arcades

Headers:

Body:

Notes:

  • Click events create hotspots.

  • Scroll and type events are used to determine if a video step should be created.

  • If there’s no scroll or type between clicks, the step will default to an image.

Response:


Replacing an Existing Arcade

Can I update an existing Arcade with a new video and event list?

Yes. Use the same flow as the creation endpoint, but instead of POST /arcades, use a different method and endpoint.

Method: PUT URL: https://api.arcade.software/arcades/:id (Replace :id with the ID of the Arcade you're updating)

Headers:

Body:

Same as the create Arcade endpoint:

This completely replaces the Arcade’s video and interaction steps with the new content.


Arcade User Provisioning API (Public)

This document describes Arcadeʼs user provisioning endpoints for customers who want to manage users and teams programmatically.

Base URL

Production

Authentication

All requests must include your Arcade API key in the Authorization header.

Generate an API Key

  1. Go to Settings → Advanced in your Workspace.

  2. Select New API key.

  3. Enable User provisioning in the modal.

Enabling this grants the API key the required provisioning scope for all endpoints below.

Example


Requirements & Limits

Plan Requirement

  • Workspace must be on Growth or higher.

Rate Limiting

  • 100 requests per minute per IP


Error Responses (Common)

All responses are JSON.

401 Unauthorized

403 Forbidden

400 Bad Request

5xx Server Errors


Users

List Users

Returns all active users in the workspace.

Method

Auth

  • API key with provisioning scope

Example

Response (200)


Create User (Single)

Creates a user directly in the workspace (no invite acceptance required).

Method

Roles Allowed

  • Admin

  • Editor

  • Collaborator

  • Viewer

  • BillingUser

Request Body

Example

Response (201)

Notes

  • If the user already exists, the request fails with 409 Conflict:


Create Users (Bulk)

Creates multiple users in a single request. Each user is processed independently.

Method

Request Body

Example

Response (201)

Notes

  • Duplicate emails within the same request return:

  • Partial failures return success: false with per-user errors.


Delete Users (Bulk)

Deactivates one or more users.

Method

Users may be identified by user IDs, emails, or both.

Delete by User ID

Delete by Email

Response (200)

Notes

  • Deleting the workspace Owner is not allowed.

  • Partial failures return an errors array:


Teams

List Teams

Returns all active teams and their active members.

Method

Example

Response (200)


Update Team Members (Replace List)

Replaces the team’s entire member list.

⚠️ Any existing members not included in the new list will be removed from the team.

Method

Member Types Allowed

  • Admin

  • Editor

  • Collaborator

  • Viewer

Request Body

Example

Response (200)

Notes

  • Each userId must already be an active workspace member.

  • Errors:

    • 400 – invalid or inactive user

    • 404 – team not found

    • 403 – team belongs to another workspace

Last updated

Was this helpful?