REST API
Arcade’s REST API allows you to programmatically create Arcades from videos and interaction data.
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:
Go to
Settings > Advancedin your Arcade team dashboard.Generate a new API key.
Then, include the API key in the authorization header of all requests:
makefileCopyEditauthorization: YOUR_API_KEYAll requests are made to https://api.arcade.software.
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
Go to Settings → Advanced in your Workspace.
Select New API key.
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: falsewith 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
errorsarray:
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
userIdmust already be an active workspace member.Errors:
400– invalid or inactive user404– team not found403– team belongs to another workspace
Last updated
Was this helpful?