Lucid Data Set Grant API
Manage access grants on data sets to control which users or applications can read or write data.
Manage access grants on data sets to control which users or applications can read or write data.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/lucid-data-set-grant-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Lucid Data Data Set Grant API
version: '1.0'
description: The Lucid Data API enables external applications to create, read, update, and delete structured data linked to Lucid documents. Use it to sync data sets, collections, and schemas between your data sources and Lucid diagrams. Authenticate via OAuth 2.0.
contact:
name: Lucid Developer Platform
url: https://developer.lucid.co/
x-documentation: https://developer.lucid.co/reference/data-api
servers:
- url: https://data.lucid.app
tags:
- name: Data Set Grant
description: Manage access grants on data sets to control which users or applications can read or write data.
paths:
/dataSetGrants/{dataSetId}:
get:
summary: Get Data Set Grant
description: 'Gets the requested data set grant if the access tokens are valid and the user has access to the data set. Note that the id in the URI is the number at the end of the data set grant''s uri, not the identifier field of the object.
'
operationId: getDataSetGrant
tags:
- Data Set Grant
security:
- OAuth2:
- data-service.admin
parameters:
- name: dataSetId
in: path
description: ID of data set to return grant for
required: true
schema:
type: integer
responses:
'200':
description: OK with Data Set Grant
content:
application/json:
schema:
type: object
properties:
uri:
type: string
description: URI of the data set grant
example: https://data.lucid.app/dataSetGrants/435
dataSet:
type: string
description: Link to get the data set for the grant
example: https://data.lucid.app/dataSets/8
permissionType:
type: string
description: Type of permission granted
example: account
identifier:
type: string
description: The document id, account id, or user id matching the permission type
example: '1234'
role:
type: string
description: 'Available types are: ''edit'' and ''view'''
example: edit
required:
- uri
- dataSet
- permissionType
- identifier
- role
example:
uri: https://data.lucid.app/dataSetGrants/435
dataSet: https://data.lucid.app/dataSets/8
permissionType: account
identifier: '1234'
role: edit
delete:
summary: Delete Data Set Grant
description: 'Removes the specified data set grant ONLY if it''s not the last data set grant. There must always be at least one data set grant for a given data set, therefore the last data set grant cannot be deleted. A response message is returned with the result of the deletion. Note that the id in the URI is the number at the end of the data set grant''s URI, not the identifier field of the Data Set Grant.
'
operationId: deleteDataSetGrant
tags:
- Data Set Grant
security:
- OAuth2:
- data-service.admin
parameters:
- name: dataSetId
in: path
description: ID of data set grant to delete
required: true
schema:
type: integer
responses:
'200':
description: OK
/dataSetGrants:
get:
summary: Get All Data Set Grants
description: 'Finds and returns all data set grants for the queried data set if the user has access to the data set.
'
operationId: getAllDataSetGrants
tags:
- Data Set Grant
security:
- OAuth2:
- data-service.admin
parameters:
- name: dataSet
in: query
description: Data set to get grants for
required: true
schema:
type: string
responses:
'200':
description: OK with array of Data Set Grant
content:
application/json:
schema:
type: array
items:
type: object
properties:
uri:
type: string
description: URI of the data set grant
example: https://data.lucid.app/dataSetGrants/435
dataSet:
type: string
description: Link to get the data set for the grant
example: https://data.lucid.app/dataSets/8
permissionType:
type: string
description: Type of permission granted
example: account
identifier:
type: string
description: The document id, account id, or user id matching the permission type
example: '1234'
role:
type: string
description: 'Available types are: ''edit'' and ''view'''
example: edit
required:
- uri
- dataSet
- permissionType
- identifier
- role
example:
uri: https://data.lucid.app/dataSetGrants/435
dataSet: https://data.lucid.app/dataSets/8
permissionType: account
identifier: '1234'
role: edit
post:
summary: Create Data Set Grant
description: 'Creates a new data set grant for the specified data set. The requesting user must have access to the data set in order for it to succeed.
'
operationId: createDataSetGrant
tags:
- Data Set Grant
security:
- OAuth2:
- data-service.admin
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
dataSet:
type: string
description: Link to the data set to grant access to
example: https://data.lucid.app/dataSets/8
permissionType:
type: string
description: Type of permission to grant
example: account
identifier:
type: string
description: The document id, account id, or user id matching the permission type
example: '1234'
role:
type: string
description: 'Available types are: ''edit'' and ''view'''
example: edit
required:
- dataSet
- permissionType
- identifier
- role
example:
dataSet: https://data.lucid.app/dataSets/8
permissionType: account
identifier: '1234'
role: edit
responses:
'200':
description: OK with Data Set Grant
content:
application/json:
schema:
type: object
properties:
uri:
type: string
description: URI of the data set grant
example: https://data.lucid.app/dataSetGrants/435
dataSet:
type: string
description: Link to get the data set for the grant
example: https://data.lucid.app/dataSets/8
permissionType:
type: string
description: Type of permission granted
example: account
identifier:
type: string
description: The document id, account id, or user id matching the permission type
example: '1234'
role:
type: string
description: 'Available types are: ''edit'' and ''view'''
example: edit
required:
- uri
- dataSet
- permissionType
- identifier
- role
example:
uri: https://data.lucid.app/dataSetGrants/435
dataSet: https://data.lucid.app/dataSets/8
permissionType: account
identifier: '1234'
role: edit
components:
securitySchemes:
OAuth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://lucid.app/oauth2/authorize
tokenUrl: https://api.lucid.co/oauth2/token
refreshUrl: https://api.lucid.co/oauth2/token
scopes:
data-service.admin: Scope needed for access to the Data APIs.
x-harvest:
harvested: '2026-08-01'
method: searched
source: https://lucid-developer-docs.readme.io/mcp
note: 'Assembled operation-by-operation from Lucid''s own documentation MCP server (tools list-endpoints + get-endpoint), which returns verbatim OpenAPI 3.0.3 fragments out of the spec Lucid uploaded to its ReadMe hub (/branches/1.4/apis/lucid-data-api.json). Paths, operations, parameters, request bodies, responses, components and securitySchemes are provider content, unmodified. Only the info block is ours: ReadMe''s per-endpoint fragments omit info, so title/description are copied verbatim from the provider''s own list-specs description for this spec.'