Fulcrum Projects API

Project containers used to scope records

OpenAPI Specification

fulcrum-projects-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Fulcrum Audio Projects 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: Projects
  description: Project containers used to scope records
paths:
  /projects.json:
    get:
      tags:
      - Projects
      summary: List projects
      operationId: listProjects
      responses:
        '200':
          description: Projects
          content:
            application/json:
              schema:
                type: object
                properties:
                  projects:
                    type: array
                    items:
                      $ref: '#/components/schemas/Project'
    post:
      tags:
      - Projects
      summary: Create project
      operationId: createProject
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project:
                  $ref: '#/components/schemas/Project'
      responses:
        '200':
          description: Project created
          content:
            application/json:
              schema:
                type: object
                properties:
                  project:
                    $ref: '#/components/schemas/Project'
  /projects/{id}.json:
    parameters:
    - $ref: '#/components/parameters/IdPath'
    get:
      tags:
      - Projects
      summary: Get project
      operationId: getProject
      responses:
        '200':
          description: Project
          content:
            application/json:
              schema:
                type: object
                properties:
                  project:
                    $ref: '#/components/schemas/Project'
    put:
      tags:
      - Projects
      summary: Update project
      operationId: updateProject
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project:
                  $ref: '#/components/schemas/Project'
      responses:
        '200':
          description: Project updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  project:
                    $ref: '#/components/schemas/Project'
    delete:
      tags:
      - Projects
      summary: Delete project
      operationId: deleteProject
      responses:
        '204':
          description: Project deleted
components:
  parameters:
    IdPath:
      name: id
      in: path
      required: true
      description: Resource identifier (UUID)
      schema:
        type: string
        format: uuid
  schemas:
    Project:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        description:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
  securitySchemes:
    ApiToken:
      type: apiKey
      in: header
      name: X-ApiToken
      description: Fulcrum API token issued from a Fulcrum account