### Example Success Response Source: https://airtable.com/developers/web/api/list-block-installations This JSON structure represents a successful response when listing block installations. It includes details such as block ID, slug, creator user ID, creation time, installation ID, and its enabled state. ```json [ { "blockId": "blkSmwFJEdER6oksM", "blockSlug": "chart", "createdByUserId": "usrL2PNC5o3H4lBEi", "createdTime": "2019-01-01T00:00:00.000Z", "id": "bliXyN0Q6zfajnDOG", "state": "enabled" } ] ``` -------------------------------- ### Disable Block Installation Source: https://airtable.com/developers/web/api/manage-block-installation Use this example to disable a block installation. Ensure you replace placeholders with your actual base ID, block installation ID, and token. ```sh curl -X PATCH "https://api.airtable.com/v0/meta/bases/{baseId}/blockInstallations/{blockInstallationId}" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ --data '{ "state": "disabled" }' ``` -------------------------------- ### List Block Installations Source: https://airtable.com/developers/web/api/list-block-installations Use this cURL command to make a GET request to the Airtable API to list block installations for a given base. Replace `{baseId}` with your base ID and `YOUR_TOKEN` with your personal access token or OAuth token. ```sh curl "https://api.airtable.com/v0/meta/bases/{baseId}/blockInstallations" \ -H "Authorization: Bearer YOUR_TOKEN" ``` -------------------------------- ### GET /v0/meta/bases/{baseId}/blockInstallations Source: https://airtable.com/developers/web/api/list-block-installations Retrieves a list of block installations associated with a specific base. This endpoint returns an array of objects, each containing details about an installed block. ```APIDOC ## GET /v0/meta/bases/{baseId}/blockInstallations ### Description Lists basic information of base block installations. ### Method GET ### Endpoint `/v0/meta/bases/{baseId}/blockInstallations` ### Parameters #### Path Parameters - **baseId** (string) - Required - The ID of the base to retrieve block installations from. #### Query Parameters None #### Request Body None ### Request Example ```sh curl "https://api.airtable.com/v0/meta/bases/{baseId}/blockInstallations" \ -H "Authorization: Bearer YOUR_TOKEN" ``` ### Response #### Success Response (200) An array of block installation objects. Each object contains: - **id** (string) - required - **state** ("enabled" | "disabled") - required - **createdByUserId** (string) - required - A user ID - **createdTime** (string) - required - A date timestamp in the ISO format, eg:"2018-01-01T00:00:00.000Z" - **blockSlug** (string) - optional - Unique readable string identifier for a block. Only present for Airtable authored blocks. - **blockId** (string) - required #### Response Example ```json [ { "blockId": "blkSmwFJEdER6oksM", "blockSlug": "chart", "createdByUserId": "usrL2PNC5o3H4lBEi", "createdTime": "2019-01-01T00:00:00.000Z", "id": "bliXyN0Q6zfajnDOG", "state": "enabled" } ] ``` ``` -------------------------------- ### Patch User Example Source: https://airtable.com/developers/web/api/patch-scim-user This example demonstrates how to patch a SCIM user's information. It shows how to replace specific attributes of a user resource. ```APIDOC ## PATCH /scim/v2/Users/{userId} ### Description Updates specific attributes of a SCIM user resource. ### Method PATCH ### Endpoint /scim/v2/Users/{userId} ### Parameters #### Path Parameters - **userId** (string) - Required - The unique identifier of the user to patch. #### Request Body - **Operations** (array) - Required - An array of patch operations to perform. - **op** (string) - Required - The operation type (e.g., "replace"). - **path** (string) - Required - The attribute path to modify (e.g., "title"). - **value** (any) - Required - The new value for the attribute. - **schemas** (array) - Required - Must include "urn:ietf:params:scim:api:messages:2.0:PatchOp". ### Request Example ```json { "Operations": [ { "op": "replace", "path": "title", "value": "Manager" } ], "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ] } ``` ### Response #### Success Response (200) - **active** (boolean) - Indicates if the user is active. - **displayName** (string) - The user's display name. - **emails** (array) - A list of the user's email addresses. - **primary** (boolean) - Indicates if this is the primary email. - **type** (string) - The type of email (e.g., "work"). - **value** (string) - The email address. - **externalId** (string) - The user's external ID. - **groups** (array) - A list of groups the user belongs to. - **id** (string) - The unique identifier of the user. - **locale** (string) - The user's locale. - **meta** (object) - Metadata about the user resource. - **created** (string) - The creation timestamp. - **lastModified** (string) - The last modified timestamp. - **location** (string) - The URL to the user resource. - **resourceType** (string) - The type of resource. - **name** (object) - The user's name. - **familyName** (string) - The user's family name. - **givenName** (string) - The user's given name. - **schemas** (array) - A list of schemas the user resource conforms to. - **title** (string) - The user's title. - **urn:ietf:params:scim:schemas:extension:enterprise:2.0:User** (object) - Enterprise extension attributes. - **costCenter** (string) - The user's cost center. - **department** (string) - The user's department. - **division** (string) - The user's division. - **userName** (string) - The user's username. #### Response Example ```json { "active": true, "displayName": "Jane Doe", "emails": [ { "primary": true, "type": "work", "value": "jane.doe@example.com" } ], "externalId": "00u19pelnizu7vExD0h8", "groups": [], "id": "usrogvSbotRtzdtZW", "locale": "en-US", "meta": { "created": "2022-06-29T18:16:07.990Z", "lastModified": "2022-07-06T17:36:19.513Z", "location": "/scim/v2/Users/usr00000000000000", "resourceType": "User" }, "name": { "familyName": "Doe", "givenName": "Jane" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ], "title": "Manager", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": { "costCenter": "Example Cost Center", "department": "Example Department", "division": "Example Division" }, "userName": "jane.doe@example.com" } ``` ``` -------------------------------- ### Success Response Example Source: https://airtable.com/developers/web/api/get-workspace-collaborators This is an example of a successful response when retrieving workspace collaborators. It includes details about base and workspace collaborators, as well as invite links. ```json { "baseIds": [ "appLkNDICXNqxSDhG", "appSW9R5uCNmRmfl6" ], "collaborators": { "baseCollaborators": [ { "baseId": "appLkNDICXNqxSDhG", "createdTime": "2019-01-03T12:33:12.421Z", "email": "foo@bam.com", "grantedByUserId": "usrL2PNC5o3H4lBEi", "permissionLevel": "create", "userId": "usrsOEchC9xuwRgKk" } ], "workspaceCollaborators": [ { "createdTime": "2019-01-03T12:33:12.421Z", "email": "foo@bar.com", "grantedByUserId": "usrL2PNC5o3H4lBEi", "permissionLevel": "owner", "userId": "usrL2PNC5o3H4lBEi" } ] }, "createdTime": "2019-01-03T12:33:12.421Z", "groupCollaborators": { "baseCollaborators": [ { "baseId": "appLkNDICXNqxSDhG", "createdTime": "2019-01-03T12:33:12.421Z", "grantedByUserId": "usrL2PNC5o3H4lBEi", "groupId": "ugpR8ZT9KtIgp8Bh3", "name": "group 2", "permissionLevel": "create" } ], "workspaceCollaborators": [ { "createdTime": "2019-01-03T12:33:12.421Z", "grantedByUserId": "usrL2PNC5o3H4lBEi", "groupId": "ugp1mKGb3KXUyQfOZ", "name": "group 1", "permissionLevel": "edit" } ] }, "id": "wspmhESAta6clCCwF", "individualCollaborators": { "baseCollaborators": [ { "baseId": "appLkNDICXNqxSDhG", "createdTime": "2019-01-03T12:33:12.421Z", "email": "foo@bam.com", "grantedByUserId": "usrL2PNC5o3H4lBEi", "permissionLevel": "create", "userId": "usrsOEchC9xuwRgKk" } ], "workspaceCollaborators": [ { "createdTime": "2019-01-03T12:33:12.421Z", "email": "foo@bar.com", "grantedByUserId": "usrL2PNC5o3H4lBEi", "permissionLevel": "owner", "userId": "usrL2PNC5o3H4lBEi" } ] }, "inviteLinks": { "baseInviteLinks": [ { "baseId": "appSW9R5uCNmRmfl6", "createdTime": "2019-01-03T12:33:12.421Z", "id": "invJiqaXmPqq6Ec87", "invitedEmail": null, "permissionLevel": "read", "referredByUserId": "usrsOEchC9xuwRgKk", "restrictedToEmailDomains": [], "type": "multiUse" } ], "workspaceInviteLinks": [ { "createdTime": "2019-01-03T12:33:12.421Z", "id": "invJiqaXmPqq6Ec87", "invitedEmail": "bam@bam.com", "permissionLevel": "owner", "referredByUserId": "usrL2PNC5o3H4lBEi", "restrictedToEmailDomains": [ "foobar.com" ], "type": "singleUse" } ] }, "name": "my first workspace", "workspaceRestrictions": { "inviteCreationRestriction": "onlyOwners", "shareCreationRestriction": "unrestricted" } } ``` -------------------------------- ### Create Role Payload Example Source: https://airtable.com/developers/web/api/audit-log-event-types Example payload for the `createRole` event type. This demonstrates the structure for defining a new role with its name, type, and permissions. ```json { "name": "My Role", "roleType": "admin", "permissionTypes": [ { "permissionType": "adminSettingsIntegrationsManage" } ] } ``` -------------------------------- ### List Records Request Example Source: https://airtable.com/developers/web/api/list-records This example demonstrates the cURL command to request a list of records from a specific base and table. Ensure you replace placeholders with your actual base ID, table ID/name, and API token. ```sh curl "https://api.airtable.com/v0/{baseId}/{tableIdOrName}" \ -H "Authorization: Bearer YOUR_TOKEN" ``` -------------------------------- ### Update Base Guide Text Payload Source: https://airtable.com/developers/web/api/audit-log-event-types Example payload for the 'updateBaseGuideText' event type, which is generated when the base guide text for a base is modified. It shows the previous and current guide text content. ```json { "previous": { "guideText": "Previous base guide text" }, "current": { "guideText": "New base guide text" } } ``` -------------------------------- ### Example Success Response Source: https://airtable.com/developers/web/api/list-shares This JSON object illustrates the structure of a successful response when listing Airtable base shares. It includes details for base, view, and block installation shares. ```json { "shares": [ { "createdByUserId": "usrL2PNC5o3H4lBEi", "createdTime": "2019-01-01T00:00:00.000Z", "effectiveEmailDomainAllowList": [ "foobar.com" ], "isPasswordProtected": true, "restrictedToEmailDomains": [ "foobar.com" ], "restrictedToEnterpriseMembers": false, "shareId": "shr9SpczJvQpfAzSp", "shareTokenPrefix": "shr9Spcz", "state": "enabled", "type": "base" }, { "canBeSynced": true, "createdByUserId": "usrL2PNC5o3H4lBEi", "createdTime": "2019-01-01T00:00:00.000Z", "isPasswordProtected": false, "restrictedToEmailDomains": [], "restrictedToEnterpriseMembers": false, "shareId": "shrMg5vs9SpczJvQp", "shareTokenPrefix": "shrMg5vs", "state": "disabled", "type": "view", "viewId": "viwQpsuEDqHFqegkp" }, { "blockInstallationId": "bliXyN0Q6zfajnDOG", "createdByUserId": "usrL2PNC5o3H4lBEi", "createdTime": "2019-01-01T00:00:00.000Z", "isPasswordProtected": false, "restrictedToEmailDomains": [], "restrictedToEnterpriseMembers": false, "shareId": "shrjjKdhMg5vs9Spc", "shareTokenPrefix": "shrjjKdh", "state": "disabled", "type": "blockInstallation" } ] } ``` -------------------------------- ### Example Payload for changeEnterpriseColors Source: https://airtable.com/developers/web/api/audit-log-event-types This JSON payload shows an example of how enterprise colors are represented, detailing the previous and current color configurations. ```json { "previous": [ { "id": "ecoUBq2RGdihxl3vU", "isDarkOverride": null, "name": "My Color", "value": "#666666" } ], "current": [ { "id": "ecoUBq2RGdihxl3vU", "isDarkOverride": null, "name": "My Color", "value": "#663399" } ] } ``` -------------------------------- ### Patch User Group Example Source: https://airtable.com/developers/web/api/patch-scim-group This example demonstrates how to perform multiple SCIM patch operations on a group, including adding, removing, and replacing members, as well as updating the group's display name. Ensure you have the correct authentication token and scope. ```sh curl -X PATCH "https://api.airtable.com/scim/v2/Groups/{groupId}" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ --data '{ \ "Operations": [ \ { \ "op": "add", \ "path": "members", \ "value": { \ "value": "usrI7HMkO7sAefUHk" \ } \ }, \ { \ "op": "remove", \ "path": "members[value eq\"usrI7HMkO7sAefUHk\"]" \ }, \ { \ "op": "replace", \ "path": "members", \ "value": [ \ { \ "value": "usrI7HMkO7sAefUHk" \ } \ ] \ }, \ { \ "op": "replace", \ "path": "displayName", \ "value": "Updated Example Group" \ } \ ], \ "schemas": [ \ "urn:ietf:params:scim:api:messages:2.0:PatchOp" \ ] \ }' ``` -------------------------------- ### Example Payload for changeDataTableInstallationRestrictions Source: https://airtable.com/developers/web/api/audit-log-event-types This JSON payload illustrates the change in enterprise HyperDB installation restrictions, indicating the previous and current restriction states. ```json { "previous": "restrictedToEnterprise", "current": "restrictedToEnterpriseGrid" } ``` -------------------------------- ### Example Payload for changeEnterpriseLicenseUpgradeRequestConfig Source: https://airtable.com/developers/web/api/audit-log-event-types Provides an example payload for an event indicating a change in the configuration for enterprise license upgrade requests. It highlights the title, message, and default configuration settings. ```json { "previous": null, "current": { "title": "Request upgrade", "message": "Request license upgrade", "defaultConfig": { "type": "inApp" } } } ``` -------------------------------- ### Enable Share Link (Base Variant) Payload Example Source: https://airtable.com/developers/web/api/audit-log-event-types Example payload for the `enableShare` event type when sharing an entire base. This payload structure includes base-specific details and sharing restrictions. ```json { "type": "base", "isPasswordProtected": false, "restrictEmailDomainTo": "", "restrictedToEnterpriseMembers": true, "shouldAllowCopy": true, "shouldShowExtensions": false, "url": "https://www.airtable.com/shrZYXWVUT", "base": { "id": "appXXXXXXXXXXXXXX", "name": "My Base" }, "effectiveEmailDomainAllowList": null } ``` -------------------------------- ### Update Group Response Example Source: https://airtable.com/developers/web/api/put-scim-group This is an example of a successful response when updating a group. It confirms the group's updated display name and schema. ```json { "displayName": "Updated Example Group", "id": "ugpQ7PJ2boxzMAKFU", "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ] } ``` -------------------------------- ### Accept Terms of Use Payload Example Source: https://airtable.com/developers/web/api/audit-log-event-types Example JSON payload for the `acceptTermsOfUse` event type, which signifies a user accepting an enterprise account's terms. ```json {} ``` -------------------------------- ### Enable Share Link (View Variant) Payload Example Source: https://airtable.com/developers/web/api/audit-log-event-types Example payload for the `enableShare` event type when sharing a view. This includes details about password protection, email domain restrictions, and associated table and view information. ```json { "type": "view", "isPasswordProtected": true, "restrictEmailDomainTo": "example.com", "restrictedToEnterpriseMembers": false, "shouldAllowCopy": false, "shouldShowExtensions": true, "url": "https://www.airtable.com/shrABCDEFG", "effectiveEmailDomainAllowList": [ "example.com" ], "table": { "id": "tblXXXXXXXXXXXXXX", "name": "My Table" }, "view": { "id": "viwXXXXXXXXXXXXXX", "type": "grid", "name": "My View" } } ``` -------------------------------- ### Example Payload for updateEnterpriseName Source: https://airtable.com/developers/web/api/audit-log-event-types This JSON payload demonstrates the structure for an `updateEnterpriseName` event, showing the enterprise name before and after the update. ```json { "previous": { "name": "Previous-enterprise-name" }, "current": { "name": "Current-enterprise-name" } } ``` -------------------------------- ### POST /v0/meta/enterpriseAccounts/{enterpriseAccountId}/packages/{packageId}/install Source: https://airtable.com/developers/web/api/create-base-from-package-enterprise Installs a package template to create a new base within an enterprise account. Requires the enterprise account ID and package ID in the path, and details like the new base name, package release ID, and workspace ID in the request body. ```APIDOC ## POST /v0/meta/enterpriseAccounts/{enterpriseAccountId}/packages/{packageId}/install ### Description Creates a new base by installing a package template for an enterprise account, returning the schema for the newly created base. ### Method POST ### Endpoint /v0/meta/enterpriseAccounts/{enterpriseAccountId}/packages/{packageId}/install ### Parameters #### Path Parameters - **enterpriseAccountId** (string) - Required - The ID of the enterprise account. - **packageId** (string) - Required - The ID of the package to install. #### Request Body - **name** (string) - Required - The name for the new base. - **packageReleaseId** (string) - Required - The package release ID to install. - **workspaceId** (string) - Required - The workspace where the base will be created. - **description** (string | null) - Optional - Optional description for the base. ### Request Example ```sh curl -X POST "https://api.airtable.com/v0/meta/enterpriseAccounts/{enterpriseAccountId}/packages/{packageId}/install" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ --data '{ \ "description": "A new enterprise managed app", \ "name": "New Enterprise Managed App", \ "packageReleaseId": "pkrsTB7Ic2RhsA4pe", \ "workspaceId": "wspmhESAta6clCCwF" \ }' ``` ### Response #### Success Response (200) - **id** (string) - required - Base ID, a unique identifier for a base. - **tables** (array) - required #### Response Example ```json { "id": "appLkNDICXNqxSDhG", "tables": [ { "fields": [ { "description": "Name of the field", "id": "fld1VnoyuotSTyxW1", "name": "Name", "type": "singleLineText" }, { "id": "fldoi0c3GaRQJ3xnI", "name": "Notes about the field", "type": "singleLineText" } ], "id": "tbltp8DGLhqbUmjK1", "name": "New Enterprise Managed App 1", "primaryFieldId": "fld1VnoyuotSTyxW1", "views": [ { "id": "viwQpsuEDqHFqegkp", "name": "Grid view", "type": "grid" } ] } ] } ``` ``` -------------------------------- ### Create Base from Package Request Source: https://airtable.com/developers/web/api/create-base-from-package-enterprise Use this cURL command to send a POST request to install a package template and create a new base. Ensure you replace placeholders with your actual values. ```curl curl -X POST "https://api.airtable.com/v0/meta/enterpriseAccounts/{enterpriseAccountId}/packages/{packageId}/install" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ --data '{ \ "description": "A new enterprise managed app", \ "name": "New Enterprise Managed App", \ "packageReleaseId": "pkrsTB7Ic2RhsA4pe", \ "workspaceId": "wspmhESAta6clCCwF" \ }' ``` -------------------------------- ### DELETE /v0/meta/bases/{baseId}/blockInstallations/{blockInstallationId} Source: https://airtable.com/developers/web/api/delete-block-installation Deletes a block installation. Deleted block installations are recoverable. ```APIDOC ## DELETE /v0/meta/bases/{baseId}/blockInstallations/{blockInstallationId} ### Description Deletes a block installation. Deleted block installations are recoverable. ### Method DELETE ### Endpoint /v0/meta/bases/{baseId}/blockInstallations/{blockInstallationId} ### Path Parameters - **baseId** (string) - Required - The ID of the base. - **blockInstallationId** (string) - Required - The ID of the block installation to delete. ### Response #### Success Response (200) Returns `null`. ``` -------------------------------- ### Example Payload for updateEnterpriseTaxDetails Source: https://airtable.com/developers/web/api/audit-log-event-types This JSON payload shows an example for `updateEnterpriseTaxDetails`, including optional `taxIdType` and `businessName` fields. ```json { "previous": {}, "current": { "taxIdType": "eu_vat", "businessName": "Example Corporation" } } ``` -------------------------------- ### Example User Response Source: https://airtable.com/developers/web/api/get-user-by-id This JSON object represents the successful response when fetching user details. It includes information about the user's collaborations, email, groups, and account settings. ```json { "collaborations": { "baseCollaborations": [ { "baseId": "appLkNDICXNqxSDhG", "createdTime": "2019-01-03T12:33:12.421Z", "grantedByUserId": "usrqccqnMB2eHylqB", "permissionLevel": "edit" } ], "interfaceCollaborations": [ { "baseId": "appLkNDICXNqxSDhG", "createdTime": "2019-01-03T12:33:12.421Z", "grantedByUserId": "usrqccqnMB2eHylqB", "interfaceId": "pbdyGA3PsOziEHPDE", "permissionLevel": "edit" } ], "workspaceCollaborations": [ { "createdTime": "2019-01-03T12:33:12.421Z", "grantedByUserId": "usrGcrteE5fUMqq0R", "permissionLevel": "owner", "workspaceId": "wspmhESAta6clCCwF" } ] }, "createdTime": "2019-01-03T12:33:12.421Z", "email": "foo@bar.com", "groups": [ { "id": "ugp1mKGb3KXUyQfOZ" }, { "id": "ugpR8ZT9KtIgp8Bh3" } ], "id": "usrL2PNC5o3H4lBEi", "invitedToAirtableByUserId": "usrsOEchC9xuwRgKk", "isManaged": true, "isServiceAccount": false, "isSsoRequired": true, "isTwoFactorAuthEnabled": false, "lastActivityTime": "2019-01-03T12:33:12.421Z", "name": "foo baz", "state": "provisioned" } ``` -------------------------------- ### Update Block Installation State Source: https://airtable.com/developers/web/api/manage-block-installation Updates the state of a specific block installation in a base. You can enable or disable the block using this endpoint. ```APIDOC ## PATCH /v0/meta/bases/{baseId}/blockInstallations/{blockInstallationId} ### Description Manages block installation state. This endpoint allows you to change the state of a block installation to either 'enabled' or 'disabled'. ### Method PATCH ### Endpoint `/v0/meta/bases/{baseId}/blockInstallations/{blockInstallationId}` ### Parameters #### Path Parameters - **baseId** (string) - Required - The ID of the base. - **blockInstallationId** (string) - Required - The ID of the block installation. #### Request Body - **state** (string) - Required - The desired state for the block installation. Accepted values are "enabled" or "disabled". ### Request Example ```sh curl -X PATCH "https://api.airtable.com/v0/meta/bases/{baseId}/blockInstallations/{blockInstallationId}" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ --data '{ \ "state": "disabled" \ }' ``` ### Response #### Success Response (200) This endpoint does not explicitly define a success response body in the documentation. However, a successful request implies the state has been updated. ``` -------------------------------- ### Example Request to Move a Base Source: https://airtable.com/developers/web/api/move-base This snippet demonstrates how to make a cURL request to move a base. Ensure you replace placeholders like YOUR_TOKEN with your actual credentials and IDs. ```sh curl -X POST "https://api.airtable.com/v0/meta/workspaces/{workspaceId}/moveBase" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ --data '{ "baseId": "appLkNDICXNqxSDhG", "targetIndex": 0, "targetWorkspaceId": "wspmhESAta6clCCwF" }' ``` -------------------------------- ### Link SSO Identity Payload Example Source: https://airtable.com/developers/web/api/audit-log-event-types Example JSON payload for the `linkSsoIdentity` event type, used when an SSO identity is associated with a user. ```json { "ssoNameId": "bob@bloomberg.com", "ssoIdentityProviderId": "idpExAmPlE0000001" } ``` -------------------------------- ### Example Payload for updateSettingLock Source: https://airtable.com/developers/web/api/audit-log-event-types This JSON payload demonstrates the structure for an 'updateSettingLock' event, showing previous and current states of a setting. ```json { "setting": "shareRestriction", "previous": { "locked": true }, "current": { "locked": true } } ``` -------------------------------- ### List Users Response Source: https://airtable.com/developers/web/api/list-scim-users This is an example of a successful response when listing users. It includes user details, pagination information, and schema identifiers. ```json { "Resources": [ { "active": true, "id": "usrogvSbotRtzdtZW", "meta": { "created": "2021-06-02T07:37:19.000Z", "location": "/scim/v2/Users/usr00000000000000", "resourceType": "User" }, "name": { "familyName": "Jane", "givenName": "Doe" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "userName": "foo@bar.com" } ], "itemsPerPage": 1, "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "startIndex": 2, "totalResults": 3 } ``` -------------------------------- ### List Packages Request Source: https://airtable.com/developers/web/api/list-enterprise-packages Use this cURL command to list all packages for a given enterprise account. Ensure you replace `{enterpriseAccountId}` with the actual ID and `YOUR_TOKEN` with your valid Airtable API token. ```sh curl "https://api.airtable.com/v0/meta/enterpriseAccounts/{enterpriseAccountId}/packages" \ -H "Authorization: Bearer YOUR_TOKEN" ``` -------------------------------- ### Add Two-Factor Authentication Strategy Payload Example Source: https://airtable.com/developers/web/api/audit-log-event-types Example JSON payload for the `addTwoFactorAuthenticationStrategy` event type, indicating a user adding a new 2FA method. ```json { "type": "sms", "user": { "id": "usrwz9oy2faX6CPRV", "email": "clifford.radicchio@example.com", "name": "Clifford Radicchio" } } ``` -------------------------------- ### Example Webhook Payload Structure Source: https://airtable.com/developers/web/api/model/webhooks-payload This is a sample structure of a webhook payload, illustrating the 'payloads' array and associated metadata. Clients should handle potential future additions of fields gracefully. ```json { "payloads": [ { "timestamp": "2022-02-01T21:25:05.663Z", "baseTransactionNumber": 4, "actionMetadata": { "source": "client", "sourceMetadata": { "user": { "id": "usr00000000000000", "email": "foo@bar.com", "permissionLevel": "create" } } }, "payloadFormat": "v0" } ], "cursor": 5, "mightHaveMore": false } ``` -------------------------------- ### Create SSO External User Payload Example Source: https://airtable.com/developers/web/api/audit-log-event-types Example JSON payload for the `createSsoExternalUser` event type, representing the creation of an SSO-only external user account. ```json { "email": "frontline.franchisee@hilton-canopy.com", "ssoIdentityProviderId": "idpExAmPlE0000001", "ssoNameId": "frontline.franchisee@hilton-canopy.com" } ``` -------------------------------- ### POST /v0/meta/bases Source: https://airtable.com/developers/web/api/create-base Creates a new base with the provided tables and returns the schema for the newly created base. At least one table and field must be specified. ```APIDOC ## POST /v0/meta/bases ### Description Creates a new base with the provided tables and returns the schema for the newly created base. At least one table and field must be specified. ### Method POST ### Endpoint https://api.airtable.com/v0/meta/bases ### Parameters #### Request Body - **name** (string) - required - The name for the new base. - **workspaceId** (string) - required - The workspace where the base will be created. - **tables** (array) - required - A list of JSON objects representing the tables that will be created along with the base. ### Response #### Success Response (200) - **id** (string) - required - Base ID, a unique identifier for a base. - **tables** (array) - required ### Request Example ```sh curl -X POST "https://api.airtable.com/v0/meta/bases" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ --data '{ \ "name": "Apartment Hunting", \ "tables": [ \ { \ "description": "A to-do list of places to visit", \ "fields": [ \ { \ "description": "Name of the apartment", \ "name": "Name", \ "type": "singleLineText" \ }, \ { \ "name": "Address", \ "type": "singleLineText" \ }, \ { \ "name": "Visited", \ "options": { \ "color": "greenBright", \ "icon": "check" \ }, \ "type": "checkbox" \ } \ ], \ "name": "Apartments" \ } \ ], \ "workspaceId": "wspmhESAta6clCCwF" \ }' ``` ### Response Example ```json { "id": "appLkNDICXNqxSDhG", "tables": [ { "description": "A to-do list of places to visit", "fields": [ { "description": "Name of the apartment", "id": "fld1VnoyuotSTyxW1", "name": "Name", "type": "singleLineText" }, { "id": "fldoi0c3GaRQJ3xnI", "name": "Address", "type": "singleLineText" }, { "id": "fldumZe00w09RYTW6", "name": "Visited", "options": { "color": "redBright", "icon": "star" }, "type": "checkbox" } ], "id": "tbltp8DGLhqbUmjK1", "name": "Apartments", "primaryFieldId": "fld1VnoyuotSTyxW1", "views": [ { "id": "viwQpsuEDqHFqegkp", "name": "Grid view", "type": "grid" } ] } ] } ``` ``` -------------------------------- ### Move Service Account Payload Example Source: https://airtable.com/developers/web/api/audit-log-event-types Example JSON payload for the `moveServiceAccount` event type, indicating a service account's migration between enterprise accounts. ```json { "name": "Service Account", "email": "service.account@example.com", "previous": { "id": "entUBq2RGdihxl3vU", "name": "Previous Enterprise Account" }, "current": { "id": "entWUuXRJs5lGKuot", "name": "Current Enterprise Account" } } ``` -------------------------------- ### Patch Group Response Example Source: https://airtable.com/developers/web/api/patch-scim-group This is an example of a successful response after patching a SCIM group. It includes the updated group details such as display name, ID, members, and schemas. ```json { "displayName": "Updated Example Group", "id": "ugpQ7PJ2boxzMAKFU", "members": [ { "value": "usrI7HMkO7sAefUHk" } ], "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ] } ``` -------------------------------- ### Example Payload for changeEnterpriseTermsOfUseOptions Source: https://airtable.com/developers/web/api/audit-log-event-types This JSON payload demonstrates the configuration changes for enterprise terms of use, including default and external user settings. ```json { "previous": null, "current": { "isDefaultConfigEnabled": true, "useDifferentConfigForExternalUsers": false } } ``` -------------------------------- ### Example Payload for createOrgUnit Source: https://airtable.com/developers/web/api/audit-log-event-types This JSON payload demonstrates the structure for a `createOrgUnit` event, including the unit's name and parent enterprise account details. ```json { "name": "New Enterprise Account Org Unit", "parentEnterpriseAccount": { "id": "entUBq2RGdihxl3vU", "name": "Parent Enterprise Account" } } ``` -------------------------------- ### Create Sandbox Base Payload Source: https://airtable.com/developers/web/api/audit-log-event-types Example payload for the `createSandboxBase` event. This shows the data structure when a sandbox base is created from a production base. ```json { "name": "My Sandbox Base", "productionApplication": { "id": "appLkNDICXNqxSDhG" } } ``` -------------------------------- ### Update SSO Identity Payload Example Source: https://airtable.com/developers/web/api/audit-log-event-types Example JSON payload for the `updateSsoIdentity` event type, detailing changes to a user's SSO identity provider and/or NameID. ```json { "previous": { "ssoIdentityProviderId": "idpExAmPlE0000001", "ssoNameId": "bob.old@bloomberg.com" }, "current": { "ssoIdentityProviderId": "idpExAmPlE0000002", "ssoNameId": "bob.new@bloomberg.com" } } ``` -------------------------------- ### Configure Base Invite Link Payload Source: https://airtable.com/developers/web/api/audit-log-event-types Example payload for the `configureBaseInviteLink` event. This shows the structure of data when an invite link's configuration is modified. ```json { "url": "https://airtable.com/invite/l?inviteId=invJiqaXmPqq6Ec87&inviteToken=0000000000000000000000000000000000000000000000000000000000000000", "restrictedToEmailDomains": null, "effectiveEmailDomainAllowList": [ "example.com", "example1.com" ], "previous": { "permissionLevel": "comment" }, "current": { "permissionLevel": "edit" }, "base": { "name": "My base", "id": "appLkNDICXNqxSDhG" } } ``` -------------------------------- ### SCIM User Creation Success Response Source: https://airtable.com/developers/web/api/create-scim-user This is an example of a successful response when creating a SCIM user. It includes the user's ID, metadata, and basic information. ```json { "active": true, "id": "usrogvSbotRtzdtZW", "meta": { "created": "2021-06-02T07:37:19.000Z", "location": "/scim/v2/Users/usr00000000000000", "resourceType": "User" }, "name": { "familyName": "Jane", "givenName": "Doe" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "userName": "foo@bar.com" } ``` -------------------------------- ### Create Table Success Response Source: https://airtable.com/developers/web/api/create-table This is an example of a successful response when creating a new table. It includes the table's ID, name, description, and the schema of its fields and default grid view. ```json { "description": "A to-do list of places to visit", "fields": [ { "description": "Name of the apartment", "id": "fld1VnoyuotSTyxW1", "name": "Name", "type": "singleLineText" }, { "id": "fldoi0c3GaRQJ3xnI", "name": "Address", "type": "singleLineText" }, { "id": "fldumZe00w09RYTW6", "name": "Visited", "options": { "color": "redBright", "icon": "star" }, "type": "checkbox" } ], "id": "tbltp8DGLhqbUmjK1", "name": "Apartments", "primaryFieldId": "fld1VnoyuotSTyxW1", "views": [ { "id": "viwQpsuEDqHFqegkp", "name": "Grid view", "type": "grid" } ] } ``` -------------------------------- ### Authorization Header Example Source: https://airtable.com/developers/web/api/webhooks-overview Include this header in all requests to the webhooks API to authenticate. ```http Authorization: Bearer YOUR_TOKEN ``` -------------------------------- ### Example Payload for deleteEnterpriseTaxDetails Source: https://airtable.com/developers/web/api/audit-log-event-types This JSON payload contains the required `taxIdRecordId` for a `deleteEnterpriseTaxDetails` event. ```json { "taxIdRecordId": "txi_1234567890" } ```