The SmartSuite REST API provides tools to retrieve and manage metadata such as Solutions, Tables (formerly Apps), Fields, and Members. These capabilities allow for robust customization and integration with external systems.
Plan Availability | All plan types with varying limitations |
Permissions | Administrators: Generate and manage API keys |
Related Reading |
Key Features
Metadata Calls
Retrieve metadata for Solutions, Tables, Fields, Members, and their properties.
No additional credentials beyond your API key and account ID are required.
Authorization
SmartSuite uses token-based authentication for all metadata requests.
Authenticate by providing your API key in the
Authorization
header and your Workspace ID in theAccount-Id
header.
Example Header:
Authorization: Token API_KEY_HERE Account-Id: WORKSPACE_ID_HERE
Note: Your Workspace ID can be found in the URL after logging into SmartSuite. Example: https://app.smartsuite.com/sv25cxf2/
Pagination
Most metadata endpoints support pagination to handle large datasets efficiently.
Limit Results: Use the
limit
parameter to specify the number of items per page.Offset Results: Use the
offset
parameter to skip a specific number of items.
Example Requests:
Retrieve the first 100 items:
Retrieve the next 100 items:
Response Structure:
{ "total": 5000, "offset": 0, "limit": 100, "items": [ ... ] }
Available Metadata Endpoints
Solutions
List Solutions:
GET /api/v1/solutions/
- Retrieve all Solutions in the workspace.Return Specific Solution:
GET /api/v1/solutions/[Solution_Id]/
- Retrieve details of a specific Solution.Create a Solution:
POST /api/v1/solutions/
- Create a new Solution with specified parameters.{ "name": "My New Solution", "logo_icon": "overline", "logo_color": "#3A86FF" }
Duplicate a Solution:
POST /api/v1/solutions/duplicate/
- Duplicate an existing Solution to a new workspace.
Tables (Apps)
List Tables:
GET /api/v1/applications/
- Retrieve all Tables.Return Specific Table:
GET /api/v1/applications/[App_Id]/
- Retrieve details of a specific Table.Create a Table:
POST /api/v1/applications/
- Create a new Table.{ "name": "[App Name]", "solution": "[Solution_Id]", "structure": [] }
Fields
Add Field:
POST /api/v1/applications/[App_Id]/add_field/
- Add a field to a Table.Bulk Add Fields:
POST /api/v1/applications/[App_Id]/bulk-add-fields/
- Add multiple fields at once.
Note: Certain field types are not supported in bulk operations (e.g., Formula, Count, TimeTracking).
Members
List Workspace Members:
POST /api/v1/applications/members/records/list/
- Retrieve a list of workspace members and their profiles.Update Member Profile:
PATCH /api/v1/applications/members/records/[Id]/
- Update a member’s profile.
Comments
List Record Comments:
GET /api/v1/comments/?record=[Record_Id]
- Retrieve comments for a specific record.Add Comment:
POST /api/v1/comments/
- Add a comment to a record.{ "assigned_to": null, "message": { "data": { "type": "doc", "content": [ { "type": "paragraph", "content": [ { "type": "text", "text": "[Comment Text]" } ] } ] } }, "application": "[App_Id]", "record": "[Record_Id]" }
Practical Scenarios and Use Cases
1. Solution Overview Generation
Scenario: An administrator needs a full list of Solutions in their workspace.
Solution: Use the GET /api/v1/solutions/
endpoint to retrieve and display all Solutions.
2. Field Management in Tables
Scenario: A developer wants to automate adding fields to a specific Table.
Solution: Use the POST /api/v1/applications/[App_Id]/bulk-add-fields/
endpoint to add fields programmatically.
3. Comment Synchronization
Scenario: A team wants to sync comments from a SmartSuite record with an external tool.
Solution: Use the GET /api/v1/comments/?record=[Record_Id]
endpoint to fetch and process comments.