Fulcrum Roles API

Permission roles for memberships

OpenAPI Specification

fulcrum-roles-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Fulcrum Audio Roles 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.
  version: 0.0.1
  contact:
    name: Fulcrum
    url: https://www.fulcrumapp.com/
servers:
- url: https://api.fulcrumapp.com/api/v2
  description: Fulcrum production API (v2)
security:
- ApiToken: []
tags:
- name: Roles
  description: Permission roles for memberships
paths:
  /roles.json:
    get:
      tags:
      - Roles
      summary: List roles
      operationId: listRoles
      responses:
        '200':
          description: Roles
          content:
            application/json:
              schema:
                type: object
                properties:
                  roles:
                    type: array
                    items:
                      $ref: '#/components/schemas/Role'
    post:
      tags:
      - Roles
      summary: Create role
      operationId: createRole
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                role:
                  $ref: '#/components/schemas/Role'
      responses:
        '200':
          description: Role created
          content:
            application/json:
              schema:
                type: object
                properties:
                  role:
                    $ref: '#/components/schemas/Role'
  /roles/{id}.json:
    parameters:
    - $ref: '#/components/parameters/IdPath'
    get:
      tags:
      - Roles
      summary: Get role
      operationId: getRole
      responses:
        '200':
          description: Role
          content:
            application/json:
              schema:
                type: object
                properties:
                  role:
                    $ref: '#/components/schemas/Role'
    put:
      tags:
      - Roles
      summary: Update role
      operationId: updateRole
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                role:
                  $ref: '#/components/schemas/Role'
      responses:
        '200':
          description: Role updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  role:
                    $ref: '#/components/schemas/Role'
    delete:
      tags:
      - Roles
      summary: Delete role
      operationId: deleteRole
      responses:
        '204':
          description: Role deleted
components:
  parameters:
    IdPath:
      name: id
      in: path
      required: true
      description: Resource identifier (UUID)
      schema:
        type: string
        format: uuid
  schemas:
    Role:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        description:
          type: string
        permissions:
          type: array
          items:
            type: string
  securitySchemes:
    ApiToken:
      type: apiKey
      in: header
      name: X-ApiToken
      description: Fulcrum API token issued from a Fulcrum account