{ "name": "access-groups", "tools": [ { "name": "Read access group", "description": "Allows to read an access group", "method": "GET", "endpoint": "https://api.vercel.com/v1/access-groups/{idOrName}", "headers": [ { "name": "Authorization", "required": true } ], "parameters": { "type": "object", "properties": { "idOrName": { "type": "string" }, "teamId": { "type": "string", "description": "The Team identifier to perform the request on behalf of." }, "slug": { "type": "string", "description": "The Team slug to perform the request on behalf of." } }, "required": [ "idOrName" ] }, "body": {}, "response": { "type": "object", "properties": { "entitlements": { "type": "array", "items": { "type": "string", "enum": [ "v0" ] } }, "isDsyncManaged": { "type": "boolean" }, "name": { "type": "string", "description": "The name of this access group.", "example": "my-access-group" }, "createdAt": { "type": "string", "description": "Timestamp in milliseconds when the access group was created.", "example": "1588720733602" }, "teamId": { "type": "string", "description": "ID of the team that this access group belongs to.", "example": "team_123a6c5209bc3778245d011443644c8d27dc2c50" }, "updatedAt": { "type": "string", "description": "Timestamp in milliseconds when the access group was last updated.", "example": "1588720733602" }, "accessGroupId": { "type": "string", "description": "ID of the access group.", "example": "ag_123a6c5209bc3778245d011443644c8d27dc2c50" }, "membersCount": { "type": "number", "description": "Number of members in the access group.", "example": 5 }, "projectsCount": { "type": "number", "description": "Number of projects in the access group.", "example": 2 }, "teamRoles": { "type": "array", "description": "Roles that the team has in the access group.", "items": { "type": "string" }, "example": [ "DEVELOPER", "BILLING" ] }, "teamPermissions": { "type": "array", "description": "Permissions that the team has in the access group.", "items": { "type": "string" }, "example": [ "CreateProject" ] } }, "required": [ "accessGroupId", "createdAt", "isDsyncManaged", "membersCount", "name", "projectsCount", "teamId", "updatedAt" ] } }, { "name": "Update access group", "description": "Allows to update an access group metadata", "method": "POST", "endpoint": "https://api.vercel.com/v1/access-groups/{idOrName}", "headers": [ { "name": "Authorization", "required": true } ], "parameters": { "type": "object", "properties": { "idOrName": { "type": "string" }, "teamId": { "type": "string", "description": "The Team identifier to perform the request on behalf of." }, "slug": { "type": "string", "description": "The Team slug to perform the request on behalf of." } }, "required": [ "idOrName" ] }, "body": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the access group", "maxLength": 50, "pattern": "^[A-z0-9_ -]+$", "example": "My access group" }, "projects": { "type": "array", "items": { "type": "object", "properties": { "projectId": { "type": "string", "description": "The ID of the project.", "maxLength": 256, "example": "prj_ndlgr43fadlPyCtREAqxxdyFK" }, "role": { "type": "string", "description": "The project role that will be added to this Access Group. \\\"null\\\" will remove this project level role.", "enum": [ "ADMIN", "PROJECT_VIEWER", "PROJECT_DEVELOPER", null ], "example": "ADMIN" } }, "required": [ "projectId", "role" ], "additionalProperties": false } }, "membersToAdd": { "type": "array", "description": "List of members to add to the access group.", "items": { "type": "string" } }, "membersToRemove": { "type": "array", "description": "List of members to remove from the access group.", "items": { "type": "string" } } }, "additionalProperties": false }, "response": { "type": "object", "properties": { "entitlements": { "type": "array", "items": { "type": "string", "enum": [ "v0" ] } }, "name": { "type": "string", "description": "The name of this access group.", "example": "my-access-group" }, "createdAt": { "type": "string", "description": "Timestamp in milliseconds when the access group was created.", "example": "1588720733602" }, "teamId": { "type": "string", "description": "ID of the team that this access group belongs to.", "example": "team_123a6c5209bc3778245d011443644c8d27dc2c50" }, "updatedAt": { "type": "string", "description": "Timestamp in milliseconds when the access group was last updated.", "example": "1588720733602" }, "accessGroupId": { "type": "string", "description": "ID of the access group.", "example": "ag_123a6c5209bc3778245d011443644c8d27dc2c50" }, "membersCount": { "type": "number", "description": "Number of members in the access group.", "example": 5 }, "projectsCount": { "type": "number", "description": "Number of projects in the access group.", "example": 2 }, "teamRoles": { "type": "array", "description": "Roles that the team has in the access group.", "items": { "type": "string" }, "example": [ "DEVELOPER", "BILLING" ] }, "teamPermissions": { "type": "array", "description": "Permissions that the team has in the access group.", "items": { "type": "string" }, "example": [ "CreateProject" ] } }, "required": [ "accessGroupId", "createdAt", "membersCount", "name", "projectsCount", "teamId", "updatedAt" ] } }, { "name": "Delete access group", "description": "Allows to delete an access group", "method": "DELETE", "endpoint": "https://api.vercel.com/v1/access-groups/{idOrName}", "headers": [ { "name": "Authorization", "required": true } ], "parameters": { "type": "object", "properties": { "idOrName": { "type": "string" }, "teamId": { "type": "string", "description": "The Team identifier to perform the request on behalf of." }, "slug": { "type": "string", "description": "The Team slug to perform the request on behalf of." } }, "required": [ "idOrName" ] }, "body": {}, "response": {} }, { "name": "List access group members", "description": "List members of an access group", "method": "GET", "endpoint": "https://api.vercel.com/v1/access-groups/{idOrName}/members", "headers": [ { "name": "Authorization", "required": true } ], "parameters": { "type": "object", "properties": { "idOrName": { "type": "string", "description": "The ID or name of the Access Group.", "example": "ag_pavWOn1iLObbXLRiwVvzmPrTWyTf" }, "limit": { "type": "integer", "description": "Limit how many access group members should be returned.", "minimum": 1, "maximum": 100, "example": 20 }, "next": { "type": "string", "description": "Continuation cursor to retrieve the next page of results." }, "search": { "type": "string", "description": "Search project members by their name, username, and email." }, "teamId": { "type": "string", "description": "The Team identifier to perform the request on behalf of." }, "slug": { "type": "string", "description": "The Team slug to perform the request on behalf of." } }, "required": [ "idOrName" ] }, "body": {}, "response": { "type": "object", "properties": { "members": { "type": "array", "items": { "type": "object", "properties": { "avatar": { "type": "string" }, "email": { "type": "string" }, "uid": { "type": "string" }, "username": { "type": "string" }, "name": { "type": "string" }, "createdAt": { "type": "string" }, "teamRole": { "type": "string", "enum": [ "OWNER", "MEMBER", "DEVELOPER", "SECURITY", "BILLING", "VIEWER", "CONTRIBUTOR" ] } }, "required": [ "email", "teamRole", "uid", "username" ] } }, "pagination": { "type": "object", "properties": { "count": { "type": "number" }, "next": { "type": "string" } }, "required": [ "count", "next" ] } }, "required": [ "members", "pagination" ] } }, { "name": "List access groups", "description": "List access groups", "method": "GET", "endpoint": "https://api.vercel.com/v1/access-groups", "headers": [ { "name": "Authorization", "required": true } ], "parameters": { "type": "object", "properties": { "projectId": { "type": "string", "description": "Filter access groups by project.", "example": "prj_pavWOn1iLObbx3RowVvzmPrTWyTf" }, "search": { "type": "string", "description": "Search for access groups by name.", "example": "example" }, "membersLimit": { "type": "integer", "description": "Number of members to include in the response.", "minimum": 1, "maximum": 100, "example": 20 }, "projectsLimit": { "type": "integer", "description": "Number of projects to include in the response.", "minimum": 1, "maximum": 100, "example": 20 }, "limit": { "type": "integer", "description": "Limit how many access group should be returned.", "minimum": 1, "maximum": 100, "example": 20 }, "next": { "type": "string", "description": "Continuation cursor to retrieve the next page of results." }, "teamId": { "type": "string", "description": "The Team identifier to perform the request on behalf of." }, "slug": { "type": "string", "description": "The Team slug to perform the request on behalf of." } }, "required": [] }, "body": {}, "response": { "type": "string" } }, { "name": "Create access group", "description": "Allows to create an access group", "method": "POST", "endpoint": "https://api.vercel.com/v1/access-groups", "headers": [ { "name": "Authorization", "required": true } ], "parameters": { "type": "object", "properties": { "teamId": { "type": "string", "description": "The Team identifier to perform the request on behalf of." }, "slug": { "type": "string", "description": "The Team slug to perform the request on behalf of." } }, "required": [] }, "body": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the access group", "maxLength": 50, "pattern": "^[A-z0-9_ -]+$", "example": "My access group" }, "projects": { "type": "array", "items": { "type": "object", "properties": { "projectId": { "type": "string", "description": "The ID of the project.", "maxLength": 256, "example": "prj_ndlgr43fadlPyCtREAqxxdyFK" }, "role": { "type": "string", "description": "The project role that will be added to this Access Group. \\\"null\\\" will remove this project level role.", "enum": [ "ADMIN", "PROJECT_VIEWER", "PROJECT_DEVELOPER" ], "example": "ADMIN" } }, "required": [ "projectId", "role" ], "additionalProperties": false } }, "membersToAdd": { "type": "array", "description": "List of members to add to the access group.", "items": { "type": "string" } } }, "required": [ "name" ], "additionalProperties": false }, "response": { "type": "object", "properties": { "membersCount": { "type": "number" }, "projectsCount": { "type": "number" }, "name": { "type": "string", "description": "The name of this access group.", "example": "my-access-group" }, "createdAt": { "type": "string", "description": "Timestamp in milliseconds when the access group was created.", "example": "1588720733602" }, "teamId": { "type": "string", "description": "ID of the team that this access group belongs to.", "example": "team_123a6c5209bc3778245d011443644c8d27dc2c50" }, "updatedAt": { "type": "string", "description": "Timestamp in milliseconds when the access group was last updated.", "example": "1588720733602" }, "accessGroupId": { "type": "string", "description": "ID of the access group.", "example": "ag_123a6c5209bc3778245d011443644c8d27dc2c50" }, "teamRoles": { "type": "array", "description": "Roles that the team has in the access group.", "items": { "type": "string" }, "example": [ "DEVELOPER", "BILLING" ] }, "teamPermissions": { "type": "array", "description": "Permissions that the team has in the access group.", "items": { "type": "string" }, "example": [ "CreateProject" ] } }, "required": [ "accessGroupId", "createdAt", "membersCount", "name", "projectsCount", "teamId", "updatedAt" ] } }, { "name": "List access group projects", "description": "List projects of an access group", "method": "GET", "endpoint": "https://api.vercel.com/v1/access-groups/{idOrName}/projects", "headers": [ { "name": "Authorization", "required": true } ], "parameters": { "type": "object", "properties": { "idOrName": { "type": "string", "description": "The ID or name of the Access Group.", "example": "ag_pavWOn1iLObbXLRiwVvzmPrTWyTf" }, "limit": { "type": "integer", "description": "Limit how many access group projects should be returned.", "minimum": 1, "maximum": 100, "example": 20 }, "next": { "type": "string", "description": "Continuation cursor to retrieve the next page of results." }, "teamId": { "type": "string", "description": "The Team identifier to perform the request on behalf of." }, "slug": { "type": "string", "description": "The Team slug to perform the request on behalf of." } }, "required": [ "idOrName" ] }, "body": {}, "response": { "type": "object", "properties": { "projects": { "type": "array", "items": { "type": "object", "properties": { "projectId": { "type": "string" }, "role": { "type": "string", "enum": [ "ADMIN", "PROJECT_DEVELOPER", "PROJECT_VIEWER" ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "project": { "type": "object", "properties": { "name": { "type": "string" }, "framework": { "type": "string" }, "latestDeploymentId": { "type": "string" } } } }, "required": [ "createdAt", "project", "projectId", "role", "updatedAt" ] } }, "pagination": { "type": "object", "properties": { "count": { "type": "number" }, "next": { "type": "string" } }, "required": [ "count", "next" ] } }, "required": [ "pagination", "projects" ] } }, { "name": "Create access group project", "description": "Allows creation of an access group project", "method": "POST", "endpoint": "https://api.vercel.com/v1/access-groups/{accessGroupIdOrName}/projects", "headers": [ { "name": "Authorization", "required": true } ], "parameters": { "type": "object", "properties": { "accessGroupIdOrName": { "type": "string" }, "teamId": { "type": "string", "description": "The Team identifier to perform the request on behalf of." }, "slug": { "type": "string", "description": "The Team slug to perform the request on behalf of." } }, "required": [ "accessGroupIdOrName" ] }, "body": { "type": "object", "properties": { "projectId": { "type": "string", "description": "The ID of the project.", "maxLength": 256, "example": "prj_ndlgr43fadlPyCtREAqxxdyFK" }, "role": { "type": "string", "description": "The project role that will be added to this Access Group.", "enum": [ "ADMIN", "PROJECT_VIEWER", "PROJECT_DEVELOPER" ], "example": "ADMIN" } }, "required": [ "projectId", "role" ], "additionalProperties": false }, "response": { "type": "object", "properties": { "teamId": { "type": "string" }, "accessGroupId": { "type": "string" }, "projectId": { "type": "string" }, "role": { "type": "string", "enum": [ "ADMIN", "PROJECT_DEVELOPER", "PROJECT_VIEWER" ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "accessGroupId", "createdAt", "projectId", "role", "teamId", "updatedAt" ] } }, { "name": "Read access group project", "description": "Allows reading an access group project", "method": "GET", "endpoint": "https://api.vercel.com/v1/access-groups/{accessGroupIdOrName}/projects/{projectId}", "headers": [ { "name": "Authorization", "required": true } ], "parameters": { "type": "object", "properties": { "accessGroupIdOrName": { "type": "string" }, "projectId": { "type": "string" }, "teamId": { "type": "string", "description": "The Team identifier to perform the request on behalf of." }, "slug": { "type": "string", "description": "The Team slug to perform the request on behalf of." } }, "required": [ "accessGroupIdOrName", "projectId" ] }, "body": {}, "response": { "type": "object", "properties": { "teamId": { "type": "string" }, "accessGroupId": { "type": "string" }, "projectId": { "type": "string" }, "role": { "type": "string", "enum": [ "ADMIN", "PROJECT_DEVELOPER", "PROJECT_VIEWER" ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "accessGroupId", "createdAt", "projectId", "role", "teamId", "updatedAt" ] } }, { "name": "Delete access group project", "description": "Allows deletion of an access group project", "method": "DELETE", "endpoint": "https://api.vercel.com/v1/access-groups/{accessGroupIdOrName}/projects/{projectId}", "headers": [ { "name": "Authorization", "required": true } ], "parameters": { "type": "object", "properties": { "accessGroupIdOrName": { "type": "string" }, "projectId": { "type": "string" }, "teamId": { "type": "string", "description": "The Team identifier to perform the request on behalf of." }, "slug": { "type": "string", "description": "The Team slug to perform the request on behalf of." } }, "required": [ "accessGroupIdOrName", "projectId" ] }, "body": {}, "response": {} }, { "name": "Update access group project", "description": "Allows update of an access group project", "method": "PATCH", "endpoint": "https://api.vercel.com/v1/access-groups/{accessGroupIdOrName}/projects/{projectId}", "headers": [ { "name": "Authorization", "required": true } ], "parameters": { "type": "object", "properties": { "accessGroupIdOrName": { "type": "string" }, "projectId": { "type": "string" }, "teamId": { "type": "string", "description": "The Team identifier to perform the request on behalf of." }, "slug": { "type": "string", "description": "The Team slug to perform the request on behalf of." } }, "required": [ "accessGroupIdOrName", "projectId" ] }, "body": { "type": "object", "properties": { "role": { "type": "string", "description": "The project role that will be added to this Access Group.", "enum": [ "ADMIN", "PROJECT_VIEWER", "PROJECT_DEVELOPER" ], "example": "ADMIN" } }, "required": [ "role" ], "additionalProperties": false }, "response": { "type": "object", "properties": { "teamId": { "type": "string" }, "accessGroupId": { "type": "string" }, "projectId": { "type": "string" }, "role": { "type": "string", "enum": [ "ADMIN", "PROJECT_DEVELOPER", "PROJECT_VIEWER" ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "accessGroupId", "createdAt", "projectId", "role", "teamId", "updatedAt" ] } } ] }