naftiko: 1.0.0-alpha2 info: label: Fulcrum API description: The Fulcrum API is a RESTful HTTP API for the Fulcrum field data collection platform. It provides programmatic access to forms, records, media (photos, videos, audio, signatures), choice lists, classification sets, projects, layers, memberships, roles, webhooks, ad hoc query and SQL execution, and changesets. Requests and responses use JSON and authenticate with an X-ApiToken header issued from a Fulcrum account. tags: - Fulcrum - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: fulcrum baseUri: https://api.fulcrumapp.com/api/v2 description: Fulcrum API HTTP API. authentication: type: apikey in: header name: X-ApiToken value: '{{FULCRUM_TOKEN}}' resources: - name: forms-json path: /forms.json operations: - name: listforms method: GET description: List forms outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createform method: POST description: Create form outputRawFormat: json outputParameters: - name: result type: object value: $. - name: forms-id-json path: /forms/{id}.json operations: - name: getform method: GET description: Get form outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateform method: PUT description: Update form outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteform method: DELETE description: Delete form outputRawFormat: json outputParameters: - name: result type: object value: $. - name: records-json path: /records.json operations: - name: listrecords method: GET description: List records inputParameters: - name: form_id in: query type: string description: Filter by form (app) identifier - name: project_id in: query type: string description: Filter by project identifier - name: assigned_to_id in: query type: string description: Filter by assignment - name: status in: query type: string description: Filter by record status - name: bounding_box in: query type: string description: Comma-separated south,west,north,east bounding box - name: per_page in: query type: integer - name: page in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createrecord method: POST description: Create record outputRawFormat: json outputParameters: - name: result type: object value: $. - name: records-id-json path: /records/{id}.json operations: - name: getrecord method: GET description: Get record outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updaterecord method: PUT description: Update record outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleterecord method: DELETE description: Delete record outputRawFormat: json outputParameters: - name: result type: object value: $. - name: photos-json path: /photos.json operations: - name: listphotos method: GET description: List photos inputParameters: - name: form_id in: query type: string - name: record_id in: query type: string - name: per_page in: query type: integer - name: page in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: uploadphoto method: POST description: Upload photo outputRawFormat: json outputParameters: - name: result type: object value: $. - name: photos-id-json path: /photos/{id}.json operations: - name: getphoto method: GET description: Get photo metadata outputRawFormat: json outputParameters: - name: result type: object value: $. - name: photos-id-jpg path: /photos/{id}.jpg operations: - name: downloadphoto method: GET description: Download photo outputRawFormat: json outputParameters: - name: result type: object value: $. - name: videos-json path: /videos.json operations: - name: listvideos method: GET description: List videos outputRawFormat: json outputParameters: - name: result type: object value: $. - name: uploadvideo method: POST description: Upload video outputRawFormat: json outputParameters: - name: result type: object value: $. - name: audio-json path: /audio.json operations: - name: listaudio method: GET description: List audio clips outputRawFormat: json outputParameters: - name: result type: object value: $. - name: uploadaudio method: POST description: Upload audio outputRawFormat: json outputParameters: - name: result type: object value: $. - name: signatures-json path: /signatures.json operations: - name: listsignatures method: GET description: List signatures outputRawFormat: json outputParameters: - name: result type: object value: $. - name: uploadsignature method: POST description: Upload signature outputRawFormat: json outputParameters: - name: result type: object value: $. - name: choice-lists-json path: /choice_lists.json operations: - name: listchoicelists method: GET description: List choice lists outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createchoicelist method: POST description: Create choice list outputRawFormat: json outputParameters: - name: result type: object value: $. - name: choice-lists-id-json path: /choice_lists/{id}.json operations: - name: getchoicelist method: GET description: Get choice list outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatechoicelist method: PUT description: Update choice list outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletechoicelist method: DELETE description: Delete choice list outputRawFormat: json outputParameters: - name: result type: object value: $. - name: classification-sets-json path: /classification_sets.json operations: - name: listclassificationsets method: GET description: List classification sets outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createclassificationset method: POST description: Create classification set outputRawFormat: json outputParameters: - name: result type: object value: $. - name: classification-sets-id-json path: /classification_sets/{id}.json operations: - name: getclassificationset method: GET description: Get classification set outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateclassificationset method: PUT description: Update classification set outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteclassificationset method: DELETE description: Delete classification set outputRawFormat: json outputParameters: - name: result type: object value: $. - name: projects-json path: /projects.json operations: - name: listprojects method: GET description: List projects outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createproject method: POST description: Create project outputRawFormat: json outputParameters: - name: result type: object value: $. - name: projects-id-json path: /projects/{id}.json operations: - name: getproject method: GET description: Get project outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateproject method: PUT description: Update project outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteproject method: DELETE description: Delete project outputRawFormat: json outputParameters: - name: result type: object value: $. - name: layers-json path: /layers.json operations: - name: listlayers method: GET description: List layers outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createlayer method: POST description: Create layer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: layers-id-json path: /layers/{id}.json operations: - name: getlayer method: GET description: Get layer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatelayer method: PUT description: Update layer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletelayer method: DELETE description: Delete layer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: memberships-json path: /memberships.json operations: - name: listmemberships method: GET description: List memberships outputRawFormat: json outputParameters: - name: result type: object value: $. - name: memberships-id-json path: /memberships/{id}.json operations: - name: updatemembership method: PUT description: Update membership outputRawFormat: json outputParameters: - name: result type: object value: $. - name: roles-json path: /roles.json operations: - name: listroles method: GET description: List roles outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createrole method: POST description: Create role outputRawFormat: json outputParameters: - name: result type: object value: $. - name: roles-id-json path: /roles/{id}.json operations: - name: getrole method: GET description: Get role outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updaterole method: PUT description: Update role outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleterole method: DELETE description: Delete role outputRawFormat: json outputParameters: - name: result type: object value: $. - name: webhooks-json path: /webhooks.json operations: - name: listwebhooks method: GET description: List webhooks outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createwebhook method: POST description: Create webhook outputRawFormat: json outputParameters: - name: result type: object value: $. - name: webhooks-id-json path: /webhooks/{id}.json operations: - name: getwebhook method: GET description: Get webhook outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatewebhook method: PUT description: Update webhook outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletewebhook method: DELETE description: Delete webhook outputRawFormat: json outputParameters: - name: result type: object value: $. - name: changesets-json path: /changesets.json operations: - name: listchangesets method: GET description: List changesets outputRawFormat: json outputParameters: - name: result type: object value: $. - name: changesets-id-json path: /changesets/{id}.json operations: - name: getchangeset method: GET description: Get changeset outputRawFormat: json outputParameters: - name: result type: object value: $. - name: query path: /query operations: - name: executequery method: GET description: Execute SQL query inputParameters: - name: q in: query type: string required: true description: SQL query string - name: format in: query type: string description: Result format outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: fulcrum-rest description: REST adapter for Fulcrum API. resources: - path: /forms.json name: listforms operations: - method: GET name: listforms description: List forms call: fulcrum.listforms outputParameters: - type: object mapping: $. - path: /forms.json name: createform operations: - method: POST name: createform description: Create form call: fulcrum.createform outputParameters: - type: object mapping: $. - path: /forms/{id}.json name: getform operations: - method: GET name: getform description: Get form call: fulcrum.getform outputParameters: - type: object mapping: $. - path: /forms/{id}.json name: updateform operations: - method: PUT name: updateform description: Update form call: fulcrum.updateform outputParameters: - type: object mapping: $. - path: /forms/{id}.json name: deleteform operations: - method: DELETE name: deleteform description: Delete form call: fulcrum.deleteform outputParameters: - type: object mapping: $. - path: /records.json name: listrecords operations: - method: GET name: listrecords description: List records call: fulcrum.listrecords outputParameters: - type: object mapping: $. - path: /records.json name: createrecord operations: - method: POST name: createrecord description: Create record call: fulcrum.createrecord outputParameters: - type: object mapping: $. - path: /records/{id}.json name: getrecord operations: - method: GET name: getrecord description: Get record call: fulcrum.getrecord outputParameters: - type: object mapping: $. - path: /records/{id}.json name: updaterecord operations: - method: PUT name: updaterecord description: Update record call: fulcrum.updaterecord outputParameters: - type: object mapping: $. - path: /records/{id}.json name: deleterecord operations: - method: DELETE name: deleterecord description: Delete record call: fulcrum.deleterecord outputParameters: - type: object mapping: $. - path: /photos.json name: listphotos operations: - method: GET name: listphotos description: List photos call: fulcrum.listphotos outputParameters: - type: object mapping: $. - path: /photos.json name: uploadphoto operations: - method: POST name: uploadphoto description: Upload photo call: fulcrum.uploadphoto outputParameters: - type: object mapping: $. - path: /photos/{id}.json name: getphoto operations: - method: GET name: getphoto description: Get photo metadata call: fulcrum.getphoto outputParameters: - type: object mapping: $. - path: /photos/{id}.jpg name: downloadphoto operations: - method: GET name: downloadphoto description: Download photo call: fulcrum.downloadphoto outputParameters: - type: object mapping: $. - path: /videos.json name: listvideos operations: - method: GET name: listvideos description: List videos call: fulcrum.listvideos outputParameters: - type: object mapping: $. - path: /videos.json name: uploadvideo operations: - method: POST name: uploadvideo description: Upload video call: fulcrum.uploadvideo outputParameters: - type: object mapping: $. - path: /audio.json name: listaudio operations: - method: GET name: listaudio description: List audio clips call: fulcrum.listaudio outputParameters: - type: object mapping: $. - path: /audio.json name: uploadaudio operations: - method: POST name: uploadaudio description: Upload audio call: fulcrum.uploadaudio outputParameters: - type: object mapping: $. - path: /signatures.json name: listsignatures operations: - method: GET name: listsignatures description: List signatures call: fulcrum.listsignatures outputParameters: - type: object mapping: $. - path: /signatures.json name: uploadsignature operations: - method: POST name: uploadsignature description: Upload signature call: fulcrum.uploadsignature outputParameters: - type: object mapping: $. - path: /choice_lists.json name: listchoicelists operations: - method: GET name: listchoicelists description: List choice lists call: fulcrum.listchoicelists outputParameters: - type: object mapping: $. - path: /choice_lists.json name: createchoicelist operations: - method: POST name: createchoicelist description: Create choice list call: fulcrum.createchoicelist outputParameters: - type: object mapping: $. - path: /choice_lists/{id}.json name: getchoicelist operations: - method: GET name: getchoicelist description: Get choice list call: fulcrum.getchoicelist outputParameters: - type: object mapping: $. - path: /choice_lists/{id}.json name: updatechoicelist operations: - method: PUT name: updatechoicelist description: Update choice list call: fulcrum.updatechoicelist outputParameters: - type: object mapping: $. - path: /choice_lists/{id}.json name: deletechoicelist operations: - method: DELETE name: deletechoicelist description: Delete choice list call: fulcrum.deletechoicelist outputParameters: - type: object mapping: $. - path: /classification_sets.json name: listclassificationsets operations: - method: GET name: listclassificationsets description: List classification sets call: fulcrum.listclassificationsets outputParameters: - type: object mapping: $. - path: /classification_sets.json name: createclassificationset operations: - method: POST name: createclassificationset description: Create classification set call: fulcrum.createclassificationset outputParameters: - type: object mapping: $. - path: /classification_sets/{id}.json name: getclassificationset operations: - method: GET name: getclassificationset description: Get classification set call: fulcrum.getclassificationset outputParameters: - type: object mapping: $. - path: /classification_sets/{id}.json name: updateclassificationset operations: - method: PUT name: updateclassificationset description: Update classification set call: fulcrum.updateclassificationset outputParameters: - type: object mapping: $. - path: /classification_sets/{id}.json name: deleteclassificationset operations: - method: DELETE name: deleteclassificationset description: Delete classification set call: fulcrum.deleteclassificationset outputParameters: - type: object mapping: $. - path: /projects.json name: listprojects operations: - method: GET name: listprojects description: List projects call: fulcrum.listprojects outputParameters: - type: object mapping: $. - path: /projects.json name: createproject operations: - method: POST name: createproject description: Create project call: fulcrum.createproject outputParameters: - type: object mapping: $. - path: /projects/{id}.json name: getproject operations: - method: GET name: getproject description: Get project call: fulcrum.getproject outputParameters: - type: object mapping: $. - path: /projects/{id}.json name: updateproject operations: - method: PUT name: updateproject description: Update project call: fulcrum.updateproject outputParameters: - type: object mapping: $. - path: /projects/{id}.json name: deleteproject operations: - method: DELETE name: deleteproject description: Delete project call: fulcrum.deleteproject outputParameters: - type: object mapping: $. - path: /layers.json name: listlayers operations: - method: GET name: listlayers description: List layers call: fulcrum.listlayers outputParameters: - type: object mapping: $. - path: /layers.json name: createlayer operations: - method: POST name: createlayer description: Create layer call: fulcrum.createlayer outputParameters: - type: object mapping: $. - path: /layers/{id}.json name: getlayer operations: - method: GET name: getlayer description: Get layer call: fulcrum.getlayer outputParameters: - type: object mapping: $. - path: /layers/{id}.json name: updatelayer operations: - method: PUT name: updatelayer description: Update layer call: fulcrum.updatelayer outputParameters: - type: object mapping: $. - path: /layers/{id}.json name: deletelayer operations: - method: DELETE name: deletelayer description: Delete layer call: fulcrum.deletelayer outputParameters: - type: object mapping: $. - path: /memberships.json name: listmemberships operations: - method: GET name: listmemberships description: List memberships call: fulcrum.listmemberships outputParameters: - type: object mapping: $. - path: /memberships/{id}.json name: updatemembership operations: - method: PUT name: updatemembership description: Update membership call: fulcrum.updatemembership outputParameters: - type: object mapping: $. - path: /roles.json name: listroles operations: - method: GET name: listroles description: List roles call: fulcrum.listroles outputParameters: - type: object mapping: $. - path: /roles.json name: createrole operations: - method: POST name: createrole description: Create role call: fulcrum.createrole outputParameters: - type: object mapping: $. - path: /roles/{id}.json name: getrole operations: - method: GET name: getrole description: Get role call: fulcrum.getrole outputParameters: - type: object mapping: $. - path: /roles/{id}.json name: updaterole operations: - method: PUT name: updaterole description: Update role call: fulcrum.updaterole outputParameters: - type: object mapping: $. - path: /roles/{id}.json name: deleterole operations: - method: DELETE name: deleterole description: Delete role call: fulcrum.deleterole outputParameters: - type: object mapping: $. - path: /webhooks.json name: listwebhooks operations: - method: GET name: listwebhooks description: List webhooks call: fulcrum.listwebhooks outputParameters: - type: object mapping: $. - path: /webhooks.json name: createwebhook operations: - method: POST name: createwebhook description: Create webhook call: fulcrum.createwebhook outputParameters: - type: object mapping: $. - path: /webhooks/{id}.json name: getwebhook operations: - method: GET name: getwebhook description: Get webhook call: fulcrum.getwebhook outputParameters: - type: object mapping: $. - path: /webhooks/{id}.json name: updatewebhook operations: - method: PUT name: updatewebhook description: Update webhook call: fulcrum.updatewebhook outputParameters: - type: object mapping: $. - path: /webhooks/{id}.json name: deletewebhook operations: - method: DELETE name: deletewebhook description: Delete webhook call: fulcrum.deletewebhook outputParameters: - type: object mapping: $. - path: /changesets.json name: listchangesets operations: - method: GET name: listchangesets description: List changesets call: fulcrum.listchangesets outputParameters: - type: object mapping: $. - path: /changesets/{id}.json name: getchangeset operations: - method: GET name: getchangeset description: Get changeset call: fulcrum.getchangeset outputParameters: - type: object mapping: $. - path: /query name: executequery operations: - method: GET name: executequery description: Execute SQL query call: fulcrum.executequery outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: fulcrum-mcp transport: http description: MCP adapter for Fulcrum API for AI agent use. tools: - name: listforms description: List forms hints: readOnly: true destructive: false idempotent: true call: fulcrum.listforms outputParameters: - type: object mapping: $. - name: createform description: Create form hints: readOnly: false destructive: false idempotent: false call: fulcrum.createform outputParameters: - type: object mapping: $. - name: getform description: Get form hints: readOnly: true destructive: false idempotent: true call: fulcrum.getform outputParameters: - type: object mapping: $. - name: updateform description: Update form hints: readOnly: false destructive: false idempotent: true call: fulcrum.updateform outputParameters: - type: object mapping: $. - name: deleteform description: Delete form hints: readOnly: false destructive: true idempotent: true call: fulcrum.deleteform outputParameters: - type: object mapping: $. - name: listrecords description: List records hints: readOnly: true destructive: false idempotent: true call: fulcrum.listrecords with: form_id: tools.form_id project_id: tools.project_id assigned_to_id: tools.assigned_to_id status: tools.status bounding_box: tools.bounding_box per_page: tools.per_page page: tools.page inputParameters: - name: form_id type: string description: Filter by form (app) identifier - name: project_id type: string description: Filter by project identifier - name: assigned_to_id type: string description: Filter by assignment - name: status type: string description: Filter by record status - name: bounding_box type: string description: Comma-separated south,west,north,east bounding box - name: per_page type: integer description: per_page - name: page type: integer description: page outputParameters: - type: object mapping: $. - name: createrecord description: Create record hints: readOnly: false destructive: false idempotent: false call: fulcrum.createrecord outputParameters: - type: object mapping: $. - name: getrecord description: Get record hints: readOnly: true destructive: false idempotent: true call: fulcrum.getrecord outputParameters: - type: object mapping: $. - name: updaterecord description: Update record hints: readOnly: false destructive: false idempotent: true call: fulcrum.updaterecord outputParameters: - type: object mapping: $. - name: deleterecord description: Delete record hints: readOnly: false destructive: true idempotent: true call: fulcrum.deleterecord outputParameters: - type: object mapping: $. - name: listphotos description: List photos hints: readOnly: true destructive: false idempotent: true call: fulcrum.listphotos with: form_id: tools.form_id record_id: tools.record_id per_page: tools.per_page page: tools.page inputParameters: - name: form_id type: string description: form_id - name: record_id type: string description: record_id - name: per_page type: integer description: per_page - name: page type: integer description: page outputParameters: - type: object mapping: $. - name: uploadphoto description: Upload photo hints: readOnly: false destructive: false idempotent: false call: fulcrum.uploadphoto outputParameters: - type: object mapping: $. - name: getphoto description: Get photo metadata hints: readOnly: true destructive: false idempotent: true call: fulcrum.getphoto outputParameters: - type: object mapping: $. - name: downloadphoto description: Download photo hints: readOnly: true destructive: false idempotent: true call: fulcrum.downloadphoto outputParameters: - type: object mapping: $. - name: listvideos description: List videos hints: readOnly: true destructive: false idempotent: true call: fulcrum.listvideos outputParameters: - type: object mapping: $. - name: uploadvideo description: Upload video hints: readOnly: false destructive: false idempotent: false call: fulcrum.uploadvideo outputParameters: - type: object mapping: $. - name: listaudio description: List audio clips hints: readOnly: true destructive: false idempotent: true call: fulcrum.listaudio outputParameters: - type: object mapping: $. - name: uploadaudio description: Upload audio hints: readOnly: false destructive: false idempotent: false call: fulcrum.uploadaudio outputParameters: - type: object mapping: $. - name: listsignatures description: List signatures hints: readOnly: true destructive: false idempotent: true call: fulcrum.listsignatures outputParameters: - type: object mapping: $. - name: uploadsignature description: Upload signature hints: readOnly: false destructive: false idempotent: false call: fulcrum.uploadsignature outputParameters: - type: object mapping: $. - name: listchoicelists description: List choice lists hints: readOnly: true destructive: false idempotent: true call: fulcrum.listchoicelists outputParameters: - type: object mapping: $. - name: createchoicelist description: Create choice list hints: readOnly: false destructive: false idempotent: false call: fulcrum.createchoicelist outputParameters: - type: object mapping: $. - name: getchoicelist description: Get choice list hints: readOnly: true destructive: false idempotent: true call: fulcrum.getchoicelist outputParameters: - type: object mapping: $. - name: updatechoicelist description: Update choice list hints: readOnly: false destructive: false idempotent: true call: fulcrum.updatechoicelist outputParameters: - type: object mapping: $. - name: deletechoicelist description: Delete choice list hints: readOnly: false destructive: true idempotent: true call: fulcrum.deletechoicelist outputParameters: - type: object mapping: $. - name: listclassificationsets description: List classification sets hints: readOnly: true destructive: false idempotent: true call: fulcrum.listclassificationsets outputParameters: - type: object mapping: $. - name: createclassificationset description: Create classification set hints: readOnly: false destructive: false idempotent: false call: fulcrum.createclassificationset outputParameters: - type: object mapping: $. - name: getclassificationset description: Get classification set hints: readOnly: true destructive: false idempotent: true call: fulcrum.getclassificationset outputParameters: - type: object mapping: $. - name: updateclassificationset description: Update classification set hints: readOnly: false destructive: false idempotent: true call: fulcrum.updateclassificationset outputParameters: - type: object mapping: $. - name: deleteclassificationset description: Delete classification set hints: readOnly: false destructive: true idempotent: true call: fulcrum.deleteclassificationset outputParameters: - type: object mapping: $. - name: listprojects description: List projects hints: readOnly: true destructive: false idempotent: true call: fulcrum.listprojects outputParameters: - type: object mapping: $. - name: createproject description: Create project hints: readOnly: false destructive: false idempotent: false call: fulcrum.createproject outputParameters: - type: object mapping: $. - name: getproject description: Get project hints: readOnly: true destructive: false idempotent: true call: fulcrum.getproject outputParameters: - type: object mapping: $. - name: updateproject description: Update project hints: readOnly: false destructive: false idempotent: true call: fulcrum.updateproject outputParameters: - type: object mapping: $. - name: deleteproject description: Delete project hints: readOnly: false destructive: true idempotent: true call: fulcrum.deleteproject outputParameters: - type: object mapping: $. - name: listlayers description: List layers hints: readOnly: true destructive: false idempotent: true call: fulcrum.listlayers outputParameters: - type: object mapping: $. - name: createlayer description: Create layer hints: readOnly: false destructive: false idempotent: false call: fulcrum.createlayer outputParameters: - type: object mapping: $. - name: getlayer description: Get layer hints: readOnly: true destructive: false idempotent: true call: fulcrum.getlayer outputParameters: - type: object mapping: $. - name: updatelayer description: Update layer hints: readOnly: false destructive: false idempotent: true call: fulcrum.updatelayer outputParameters: - type: object mapping: $. - name: deletelayer description: Delete layer hints: readOnly: false destructive: true idempotent: true call: fulcrum.deletelayer outputParameters: - type: object mapping: $. - name: listmemberships description: List memberships hints: readOnly: true destructive: false idempotent: true call: fulcrum.listmemberships outputParameters: - type: object mapping: $. - name: updatemembership description: Update membership hints: readOnly: false destructive: false idempotent: true call: fulcrum.updatemembership outputParameters: - type: object mapping: $. - name: listroles description: List roles hints: readOnly: true destructive: false idempotent: true call: fulcrum.listroles outputParameters: - type: object mapping: $. - name: createrole description: Create role hints: readOnly: false destructive: false idempotent: false call: fulcrum.createrole outputParameters: - type: object mapping: $. - name: getrole description: Get role hints: readOnly: true destructive: false idempotent: true call: fulcrum.getrole outputParameters: - type: object mapping: $. - name: updaterole description: Update role hints: readOnly: false destructive: false idempotent: true call: fulcrum.updaterole outputParameters: - type: object mapping: $. - name: deleterole description: Delete role hints: readOnly: false destructive: true idempotent: true call: fulcrum.deleterole outputParameters: - type: object mapping: $. - name: listwebhooks description: List webhooks hints: readOnly: true destructive: false idempotent: true call: fulcrum.listwebhooks outputParameters: - type: object mapping: $. - name: createwebhook description: Create webhook hints: readOnly: false destructive: false idempotent: false call: fulcrum.createwebhook outputParameters: - type: object mapping: $. - name: getwebhook description: Get webhook hints: readOnly: true destructive: false idempotent: true call: fulcrum.getwebhook outputParameters: - type: object mapping: $. - name: updatewebhook description: Update webhook hints: readOnly: false destructive: false idempotent: true call: fulcrum.updatewebhook outputParameters: - type: object mapping: $. - name: deletewebhook description: Delete webhook hints: readOnly: false destructive: true idempotent: true call: fulcrum.deletewebhook outputParameters: - type: object mapping: $. - name: listchangesets description: List changesets hints: readOnly: true destructive: false idempotent: true call: fulcrum.listchangesets outputParameters: - type: object mapping: $. - name: getchangeset description: Get changeset hints: readOnly: true destructive: false idempotent: true call: fulcrum.getchangeset outputParameters: - type: object mapping: $. - name: executequery description: Execute SQL query hints: readOnly: true destructive: false idempotent: true call: fulcrum.executequery with: q: tools.q format: tools.format inputParameters: - name: q type: string description: SQL query string required: true - name: format type: string description: Result format outputParameters: - type: object mapping: $. binds: - namespace: env keys: FULCRUM_TOKEN: FULCRUM_TOKEN