Skip to main content
All CollectionsAPI
Metadata API documentation
Metadata API documentation
Peter Novosel avatar
Written by Peter Novosel
Updated over a month ago

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 the Account-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.

Did this answer your question?