Cognito Forms Entries API

The Entries API from Cognito Forms — 5 operation(s) for entries.

OpenAPI Specification

cognito-forms-entries-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Cognito Forms Entries API
  version: '1.1'
  description: Cognito Forms is an online form builder for collecting and managing submission data. This API enables automated flows to trigger when entries are created, updated, or deleted and provides actions to create, update, and retrieve entries. Integrate Cognito Forms with other services to route data, process uploaded files, and automate business workflows.
  contact:
    name: Cognito Forms Support
    email: support@cognitoforms.com
    url: https://www.cognitoforms.com/support
servers:
- url: https://cognitoforms.com
  description: Cognito Forms API Server
security:
- oauth2Auth:
  - admin
tags:
- name: Entries
paths:
  /api/forms/{form}/entries:
    post:
      tags:
      - Entries
      summary: Create entry
      description: Creates a new entry.
      operationId: CreateEntry
      parameters:
      - name: form
        in: path
        description: The name of the form
        required: true
        schema:
          type: string
      requestBody:
        description: The entry to create for the form
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /api/forms/{form}/entries/{entryId}:
    get:
      tags:
      - Entries
      summary: Get entry
      description: Gets an entry.
      operationId: GetEntry
      parameters:
      - name: form
        in: path
        description: The name of the form
        required: true
        schema:
          type: string
      - name: entryId
        in: path
        description: The entry id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    patch:
      tags:
      - Entries
      summary: Update entry
      description: Updates an entry.
      operationId: EditEntry
      parameters:
      - name: form
        in: path
        description: The name of the form
        required: true
        schema:
          type: string
      - name: entryId
        in: path
        description: The entry id
        required: true
        schema:
          type: string
      requestBody:
        description: The updated entry data
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
    delete:
      tags:
      - Entries
      summary: Delete entry
      description: Delete an entry.
      operationId: DeleteEntry
      parameters:
      - name: form
        in: path
        description: The name of the form
        required: true
        schema:
          type: string
      - name: entryId
        in: path
        description: The entry id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /api/forms/{form}/entries/{entry}/documents/{templateNumber}:
    get:
      tags:
      - Entries
      summary: Get Document
      description: Gets a document generated from a form entry.
      operationId: GetDocument
      parameters:
      - name: form
        in: path
        description: The name of the form
        required: true
        schema:
          type: string
      - name: entry
        in: path
        description: The entry id
        required: true
        schema:
          type: string
      - name: templateNumber
        in: path
        description: The template number
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/pdf:
              schema:
                $ref: '#/components/schemas/FileDataRef'
            application/vnd.openxmlformats-officedocument.wordprocessingml.document:
              schema:
                $ref: '#/components/schemas/FileDataRef'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /api/forms/{form}/import-entries:
    post:
      tags:
      - Entries
      summary: Import Entries
      description: Creates, updates, or deletes entries using provided file content.
      operationId: ImportEntries
      parameters:
      - name: form
        in: path
        description: The name of the form
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - File
              - ImportMode
              properties:
                File:
                  type: string
                  format: binary
                  description: The file (.xlsx or .csv) containing the entries to import.
                ImportMode:
                  type: string
                  description: The mode for the import
                  enum:
                  - CreateNew
                  - UpdateExisting
                  - SyncEntries
                Email:
                  type: string
                  format: email
                  description: The email address to receive import notifications
                MatchEntriesUsing:
                  type: string
                  description: An entry ID substitute field for matching
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /api/forms/{form}/import-status/{importId}:
    get:
      tags:
      - Entries
      summary: Get Import Status
      description: Gets the current status of an import and returns the number of successful and unsuccessful entries.
      operationId: GetImportStatus
      parameters:
      - name: form
        in: path
        description: The name of the form
        required: true
        schema:
          type: string
      - name: importId
        in: path
        description: The Import ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportStatus'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  responses:
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    TooManyRequests:
      description: Too Many Requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    ImportStatus:
      description: The status of an import
      type: object
      properties:
        Id:
          description: The ID of the import
          type: string
        Status:
          description: The status of the import
          type: string
        ErrorMessage:
          description: A message describing why the import failed
          type: string
        SuccessfulEntries:
          description: The number of entries successfully imported
          type: integer
        UnsuccessfulEntries:
          description: The number of entries that failed to import
          type: integer
        TotalEntries:
          description: The total number of entries in the import
          type: integer
        ImportLink:
          description: The link to the entries page to download the annotated file
          type: string
    Error:
      description: An error
      type: object
      properties:
        Message:
          description: A message describing the error
          type: string
        Type:
          description: The type of the error
          type: string
        SupportCode:
          description: A support code identifying the specific error
          type: string
        Data:
          description: Data related to the error
          type: object
    FileDataRef:
      description: A file reference that includes file data and metadata
      type: object
      properties:
        Id:
          description: The unique id of the file.
          type: string
        Name:
          description: The name of the file
          type: string
        ContentType:
          description: The content type of the file.
          type: string
        Size:
          description: The size of the file.
          type: integer
        File:
          description: The URL of the file.
          type: string
        Content:
          description: The file content
          type: string
          format: byte
    ImportResult:
      description: The result of an import request
      type: object
      properties:
        Id:
          description: The ID of the import
          type: string
        Status:
          description: The status of the import
          type: string
        ErrorMessage:
          description: A message describing why the import failed
          type: string
  securitySchemes:
    oauth2Auth:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://cognitoforms.com/api-connection
          tokenUrl: https://cognitoforms.com/admin/oauthtoken
          scopes:
            admin: Full administrative access