Paperform Submissions API

The Submissions API from Paperform — 3 operation(s) for submissions.

Operations 5

GET /forms/{slug_or_id}/submissions List form submissions #
GET /forms/{slug_or_id}/submissions/{id} Get form submission #
DELETE /forms/{slug_or_id}/submissions/{id} Delete form submission #
GET /submissions/{id} Get submission #
DELETE /submissions/{id} Delete submission #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/paperform-submissions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

paperform-submissions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Paperform Submissions API
  contact:
    name: Paperform API Support
    url: https://paperform.co
    email: support@paperform.co
servers:
- url: https://api.paperform.co/v1
security:
- bearerAuth: []
tags:
- name: Submissions
paths:
  /forms/{slug_or_id}/submissions:
    get:
      parameters:
      - $ref: '#/components/parameters/slugOrID'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/afterId'
      - $ref: '#/components/parameters/beforeId'
      - $ref: '#/components/parameters/beforeDate'
      - $ref: '#/components/parameters/afterDate'
      - $ref: '#/components/parameters/sort'
      description: This endpoint returns a list of submissions for a form matching the requested parameters. This feature is available as part of the Standard API.
      operationId: listFormSubmissions
      tags:
      - Submissions
      responses:
        '200':
          description: Successfully returned a list of submissions
          content:
            application/json:
              schema:
                type: object
                allOf:
                - properties:
                    status:
                      type: string
                      enum:
                      - ok
                    results:
                      type: object
                      properties:
                        submissions:
                          type: array
                          items:
                            $ref: '#/components/schemas/Submission'
                - $ref: '#/components/schemas/Pagination'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/Validation'
        '429':
          $ref: '#/components/responses/Throttled'
        5XX:
          $ref: '#/components/responses/Unexpected'
      summary: List form submissions
      x-summary-source: derived
  /forms/{slug_or_id}/submissions/{id}:
    get:
      parameters:
      - $ref: '#/components/parameters/slugOrID'
      - $ref: '#/components/parameters/uuid'
      description: This endpoint returns a specific submission by ID. This feature is available as part of the Standard API.
      operationId: getFormSubmission
      tags:
      - Submissions
      responses:
        '200':
          description: 'Successfully returned a single submission that matched the provided ID

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - ok
                  results:
                    type: object
                    properties:
                      submission:
                        $ref: '#/components/schemas/Submission'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/Throttled'
        5XX:
          $ref: '#/components/responses/Unexpected'
      summary: Get form submission
      x-summary-source: derived
    delete:
      parameters:
      - $ref: '#/components/parameters/slugOrID'
      - $ref: '#/components/parameters/uuid'
      description: 'This endpoint deletes a specific submission by ID.

        This feature is available as part of the Standard API.'
      operationId: deleteFormSubmission
      tags:
      - Submissions
      responses:
        '200':
          description: 'Successfully deleted a single submission that matched the provided ID

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - ok
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/Throttled'
        5XX:
          $ref: '#/components/responses/Unexpected'
      summary: Delete form submission
      x-summary-source: derived
  /submissions/{id}:
    get:
      parameters:
      - $ref: '#/components/parameters/uuid'
      description: This endpoint returns a specific submission by ID. This feature is available as part of the Standard API.
      operationId: getSubmission
      tags:
      - Submissions
      responses:
        '200':
          description: 'Successfully returned a single submission that matched the provided ID

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - ok
                  results:
                    type: object
                    properties:
                      submission:
                        $ref: '#/components/schemas/Submission'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/Throttled'
        5XX:
          $ref: '#/components/responses/Unexpected'
      summary: Get submission
      x-summary-source: derived
    delete:
      parameters:
      - $ref: '#/components/parameters/uuid'
      description: 'This endpoint deletes a specific submission by ID.

        This feature is available as part of the Standard API.'
      operationId: deleteSubmission
      tags:
      - Submissions
      responses:
        '200':
          description: 'Successfully deleted a single submission that matched the provided ID

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - ok
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/Throttled'
        5XX:
          $ref: '#/components/responses/Unexpected'
      summary: Delete submission
      x-summary-source: derived
components:
  schemas:
    Charge:
      description: Information about payments relating to the submission.
      type: object
      properties:
        products:
          description: The products included in the charge.
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Product'
        summary:
          description: A summary of the charge.
          type: string
        discount:
          description: The total discount applied to the charge.
          type: integer
        discounted_subscriptions:
          description: The IDs of discounted subscriptions in the charge.
          type: array
          items:
            type: string
        coupon:
          description: If a coupon was applied to the charge.
          type: boolean
        total:
          description: The total of the charge.
          type: integer
        tax:
          description: The fixed tax amounts on the charge.
          type: integer
        tax_percentage:
          description: The percentage tax amounts on the charge.
          type: integer
        processing_fee:
          description: The processing fee on the charge.
          type: integer
        authorize:
          description: If the charge was only authorized for later capture.
          type: boolean
        receipt_email:
          description: The receipt email given in the checkout.
          type:
          - string
          - 'null'
          format: email
        customer:
          $ref: '#/components/schemas/Customer'
        charge:
          type: string
        payment_source_id:
          description: The id of the payment source used to make the charge.
          type: integer
        payment_source_service:
          description: The payment service from the payment source used to make the charge.
          type: string
        live:
          description: If the charge was made in 'live' mode.
          type: boolean
    Product:
      description: A product included in a charge.
      type: object
      properties:
        price:
          type: integer
        total:
          type: integer
        quantity:
          type: integer
        summary:
          type: string
    Submission:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the Submission.
          example: 5d40fdaf174b4c0007043072
          readOnly: true
        form_id:
          type: string
          format: uuid
          description: The id of the Form for the Submission.
          example: 5d40fdaf174b4c0007043072
          readOnly: true
        data:
          $ref: '#/components/schemas/SubmissionData'
        device:
          $ref: '#/components/schemas/Device'
        charge:
          $ref: '#/components/schemas/Charge'
        pdfs:
          type:
          - object
          - 'null'
          additionalProperties:
            $ref: '#/components/schemas/Pdf'
          description: The PDFs generated for the Submission.
        created_at:
          type: string
          description: A formatted date-time string in your account timezone indicating the time the form was created.
          readOnly: true
          example: '2019-04-14T09:00:00.000Z'
        account_timezone:
          type: string
          description: The configured timezone for your account.
          example: America/Los_Angeles
          readOnly: true
        created_at_utc:
          type: string
          format: date-time
          description: A formatted date-time string in UTC indicating the time the form was created.
          readOnly: true
          example: '2019-04-14T09:00:00.000Z'
    Customer:
      description: The customer attached to the charge.
      type: object
      properties:
        id:
          type: string
          format: uuid
    Pagination:
      type: object
      properties:
        total:
          type: integer
          description: The total number of items.
          readOnly: true
          example: 57
        has_more:
          description: Whether there are more items.
          type: boolean
          example: true
          readOnly: true
        limit:
          description: The limit of items per page.
          type: integer
          example: 20
          default: 20
        skip:
          description: The number of items to skip.
          type: integer
          default: 0
          example: 0
    Pdf:
      type: object
      description: The PDFs generated for the submission.
      properties:
        url:
          type: string
          format: uri
        filename:
          type: string
    Device:
      description: Information about the device which made the submission.
      type: object
      properties:
        type:
          type: string
        device:
          type: string
        platform:
          type: string
        browser:
          type: string
        embedded:
          type: boolean
        url:
          type: string
          format: uri
        user_agent:
          type: string
        utm_source:
          type: string
        utm_medium:
          type: string
        utm_campaign:
          type: string
        utm_term:
          type: string
        utm_content:
          type: string
        ip_address:
          type: string
    Error:
      type: object
      properties:
        status:
          type: string
          enum:
          - error
          example: error
        message:
          type: string
          description: An error message.
          example: Invalid request
        details:
          type: array
          description: Suggested actions to resolve the error.
          items:
            type: string
    SubmissionData:
      type: object
      description: The `data` object stores the answers from the form. Each value is stored against it's key. Note that custom keys are not used here.
      properties:
        KEY:
          oneOf:
          - type: string
          - type: number
          - type: array
            items:
              oneOf:
              - type: string
              - type: object
          - type: object
          - type: boolean
  parameters:
    skip:
      in: query
      name: skip
      schema:
        type: integer
        default: 0
      description: Number of results to skip in the result set.
    sort:
      in: query
      name: sort
      schema:
        type: string
        enum:
        - ASC
        - DESC
        default: DESC
      description: The direction to sort in. Results are sorted by `created_at`, and defaults to `"DESC"`.
      example: ASC
    limit:
      in: query
      name: limit
      schema:
        type: integer
        maximum: 100
        default: 20
      description: The number or results to return.
    beforeId:
      in: query
      name: before_id
      schema:
        type: string
      description: Return results before the provided ID.
      example: 5d40fdaf174b4c0007043072
    uuid:
      in: path
      name: id
      required: true
      schema:
        type: string
        format: uuid
      description: The id of the record to get.
      example: 5d40fdaf174b4c0007043072
    afterId:
      in: query
      name: after_id
      schema:
        type: string
      description: Return results after the provided ID.
      example: 5d40fdaf174b4c0007043072
    slugOrID:
      in: path
      name: slug_or_id
      required: true
      schema:
        type: string
      description: The form's slug, custom slug or ID.
      example: my-form-slug
    beforeDate:
      in: query
      name: before_date
      schema:
        type: string
        format: date-time
      description: Return results created on or after this date-time (UTC). Overwritten by `before_id`.
      example: '2019-06-11T20:36:29Z'
    afterDate:
      in: query
      name: after_date
      schema:
        type: string
        format: date-time
      description: Return results created before this date (UTC). Overwritten by `after_id`.
      example: '2019-06-11T20:36:29Z'
  responses:
    Throttled:
      description: Too Many Requests
      content:
        text/html:
          schema:
            type: string
            enum:
            - Too many requests.
    Forbidden:
      description: Not Permitted
      content:
        application/json:
          schema:
            type: object
            allOf:
            - $ref: '#/components/schemas/Error'
            - properties:
                error_type:
                  type: string
                  enum:
                  - permission
                  description: Not permitted to access requested resource.
    Validation:
      description: Validation Error
      content:
        application/json:
          schema:
            type: object
            allOf:
            - $ref: '#/components/schemas/Error'
            - properties:
                error_type:
                  type: string
                  enum:
                  - validation
                  description: Invalid parameters provided.
    NotFound:
      description: Not Found
      content:
        application/json:
          schema:
            type: object
            allOf:
            - $ref: '#/components/schemas/Error'
            - properties:
                error_type:
                  type: string
                  enum:
                  - not_found
                  description: The requested resource was not found.
    Unexpected:
      description: Unexpected Error
      content:
        application/json:
          schema:
            type: object
            allOf:
            - $ref: '#/components/schemas/Error'
            - properties:
                error_type:
                  type: string
                  enum:
                  - server_error
                  description: An unexpected error.
    BadRequest:
      description: Invalid Request
      content:
        application/json:
          schema:
            type: object
            allOf:
            - $ref: '#/components/schemas/Error'
            - properties:
                error_type:
                  type: string
                  enum:
                  - validation
                  description: Invalid parameters provided.
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            allOf:
            - $ref: '#/components/schemas/Error'
            - properties:
                error_type:
                  type: string
                  enum:
                  - authentication
                  description: Token not provided for not valid.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
x-readme:
  explorer-enabled: true
  proxy-enabled: true