Connecting to Coda
The Coda API uses API key authentication.
Using API Key Authentication
Your Coda API token (Bearer token) is required to create a connection to Coda. API token can be obtained from your Coda account settings under the API Settings section. Once you have obtained the API token, set it in the ProfileSettings connection property.
Example Connection string
Profile=C:\profiles\Coda.apip;ProfileSettings='APIKey=your_api_token;'AuthScheme=APIKey;
Usage Examples
AclMetadata:
SELECT * FROM AclMetadata WHERE DocId='doc123'
AclPermissions:
SELECT * FROM AclPermissions WHERE DocId='doc123'
INSERT INTO AclPermissions (DocId, Access, Principal) VALUES ('AbCDeFGH', 'editor', '{"type":"user","email":"[email protected]"}')
DELETE FROM AclPermissions WHERE Id='perm-abcdefgh' AND DocId='AbCDeFGH'
AclSettings:
SELECT * FROM AclSettings WHERE DocId='doc123'
UPDATE AclSettings SET EditorsCanChangePermissions=true, IsCopyingAllowed=true WHERE DocId='AbCDeFGH'
AnalyticsDocs:
SELECT * FROM AnalyticsDocs
AnalyticsDocsSummary:
SELECT * FROM AnalyticsDocsSummary
AnalyticsPackFormulas:
SELECT * FROM AnalyticsPackFormulas WHERE PackId=123
AnalyticsPacks:
SELECT * FROM AnalyticsPacks
AnalyticsPacksSummary:
SELECT * FROM AnalyticsPacksSummary
AnalyticsPages:
SELECT * FROM AnalyticsPages WHERE DocId='doc123'
Categories:
SELECT * FROM Categories
Columns:
SELECT * FROM Columns WHERE DocId='doc123' AND TableId='grid-xyz'
Controls:
SELECT * FROM Controls WHERE DocId='doc123'
Docs:
SELECT * FROM Docs
INSERT INTO Docs (Name, FolderId) VALUES ('My New Document', 'fl-abcdefgh')
UPDATE Docs SET Name='Updated Document Name', Icon='rocket' WHERE Id='AbCDeFGH'
DELETE FROM Docs WHERE Id='AbCDeFGH'
Formulas:
SELECT * FROM Formulas WHERE DocId='doc123'
PackListings:
SELECT * FROM PackListings
PackPermissions:
SELECT * FROM PackPermissions WHERE PackId=123
INSERT INTO PackPermissions (PackId, Access, Principal) VALUES (123, 'admin', '{"type":"user","email":"[email protected]"}')
DELETE FROM PackPermissions WHERE Id='perm-abcdefgh' AND PackId=123
PackReleases:
SELECT * FROM PackReleases WHERE PackId=123
INSERT INTO PackReleases (PackId, PackVersion, ReleaseNotes) VALUES (123, '1.0.0', 'Initial release with core functionality')
UPDATE PackReleases SET ReleaseNotes='Updated release notes with bug fixes' WHERE ReleaseId=1 AND PackId=123
Packs:
SELECT * FROM Packs
INSERT INTO Packs (Name, Description, ShortDescription) VALUES ('My Custom Pack', 'A pack that extends Coda with custom functionality', 'Custom Coda pack')
DELETE FROM Packs WHERE Id=123
PackVersions:
SELECT * FROM PackVersions WHERE PackId=123
UPDATE PackVersions SET BuildNotes='Fixed authentication issues and improved performance' WHERE PackVersion='1.0.0' AND PackId=123
Pages:
SELECT * FROM Pages WHERE DocId='doc123'
INSERT INTO Pages (DocId, Name, Subtitle) VALUES ('AbCDeFGH', 'Getting Started', 'An introduction to the product')
UPDATE Pages SET Name='Updated Page Name', IsHidden=false WHERE Id='canvas-abcdefgh' AND DocId='AbCDeFGH'
DELETE FROM Pages WHERE Id='canvas-abcdefgh' AND DocId='AbCDeFGH'
Rows:
SELECT * FROM Rows WHERE DocId='doc123' AND TableId='grid-xyz'
INSERT INTO Rows (DocId, TableId, Values) VALUES ('AbCDeFGH', 'grid-abcdefgh', '[{"column":"col-id-1","value":"Sample text"},{"column":"col-id-2","value":42}]')
UPDATE Rows SET Values='[{"column":"col-id-1","value":"Updated text"}]' WHERE Id='i-abcdefgh' AND DocId='AbCDeFGH' AND TableId='grid-abcdefgh'
DELETE FROM Rows WHERE Id='i-abcdefgh' AND DocId='AbCDeFGH' AND TableId='grid-abcdefgh'
Tables:
SELECT * FROM Tables WHERE DocId='doc123'
WhoAmI:
SELECT * FROM WhoAmI
Connection Properties
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider.
| Property | Description |
| APIKey | The API key used for authentication with the Coda API. |
| AuthScheme | The scheme used for authentication. Accepted entries are APIKey or None. Allowed values are: BASIC, NONE, NTLM, OAUTH, APIKEY, OAUTH_CLIENT, OAUTH_PASSWORD |