GetResponse Forms API

Forms API documentation The Forms area of the GetResponse API v3 — 3 operation(s) across 3 path(s), split by tag from the provider-published OpenAPI at https://apireference.getresponse.com/open-api.json.

OpenAPI Specification

getresponse-forms-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: GetResponse APIv3 Forms
  version: 3.2026-07-28T07:58:55+00:00
  description: The Forms operations of the GetResponse APIv3, split by tag from the provider-published
    OpenAPI at https://apireference.getresponse.com/open-api.json
  contact:
    name: API Support - DevZone
    url: https://app.getresponse.com/feedback.html?devzone=yes
    email: getresponse-devzone@cs.getresponse.com
servers:
- url: https://api.getresponse.com/v3
  description: GetResponse
- url: https://api3.getresponse360.com/v3
  description: GetResponse MAX US
- url: https://api3.getresponse360.pl/v3
  description: GetResponse MAX PL
tags:
- name: Forms
  description: Forms API documentation
paths:
  /forms/{formId}:
    get:
      tags:
      - Forms
      summary: Get form by ID
      operationId: getForm
      parameters:
      - $ref: '#/components/parameters/Fields'
      responses:
        '200':
          $ref: '#/components/responses/FormDetails'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                example:
                  value:
                    httpStatus: 404
                    code: 1013
                    codeDescription: The requested resource was not found
                    message: Resource not found
                    moreInfo: https://apidocs.getresponse.com/en/v3/errors/1013
                    context:
                      contactId: pVyRW
                    uuid: 87b90a96-5ee5-4ca4-8180-ac00adcf62c7
        '400':
          description: Request validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                example:
                  value:
                    httpStatus: 400
                    code: 1000
                    codeDescription: General error of validation process, more details should be in context
                      section
                    message: Validation error, see context section for more information
                    moreInfo: https://apidocs.getresponse.com/en/v3/errors/1000
                    context:
                      validationType: searchFilter[query]
                      fieldName: name
                      originalName: lorem-ipsum
                      errorDescription: Not allowed search field
                    uuid: 77dabfd1-1fa7-4f9f-8d3f-487b4403e3aa
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                example:
                  value:
                    httpStatus: 401
                    code: 1014
                    codeDescription: Problem during authentication process, check headers!
                    message: Unable to authenticate request. Check credentials or authentication method
                      details
                    moreInfo: https://apidocs.getresponse.com/en/v3/errors/1014
                    context:
                      authenticationType: auth_token
                    uuid: 62417847-4f12-4c25-9b3a-0b619a187efe
        '429':
          description: The throttling limit has been reached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                example:
                  value:
                    httpStatus: 429
                    code: 1015
                    codeDescription: Too many request to API, quota reached, please wait till next quota
                      window
                    message: You have reached your requests limit for this time window, please wait...
                    moreInfo: https://apidocs.getresponse.com/en/v3/errors/1015
                    context:
                      currentLimit: 30000
                      timeToReset: 100 seconds
                    uuid: 510c6726-7f65-46b7-a798-ca403133924f
      security:
      - api-key: []
      - oauth2:
        - all
    parameters:
    - $ref: '#/components/parameters/formId'
  /forms/{formId}/variants:
    get:
      tags:
      - Forms
      summary: Get the list of form variants (A/B tests)
      operationId: getFormVariantList
      parameters:
      - $ref: '#/components/parameters/Fields'
      responses:
        '200':
          $ref: '#/components/responses/FormVariantList'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                example:
                  value:
                    httpStatus: 404
                    code: 1013
                    codeDescription: The requested resource was not found
                    message: Resource not found
                    moreInfo: https://apidocs.getresponse.com/en/v3/errors/1013
                    context:
                      contactId: pVyRW
                    uuid: 87b90a96-5ee5-4ca4-8180-ac00adcf62c7
        '400':
          description: Request validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                example:
                  value:
                    httpStatus: 400
                    code: 1000
                    codeDescription: General error of validation process, more details should be in context
                      section
                    message: Validation error, see context section for more information
                    moreInfo: https://apidocs.getresponse.com/en/v3/errors/1000
                    context:
                      validationType: searchFilter[query]
                      fieldName: name
                      originalName: lorem-ipsum
                      errorDescription: Not allowed search field
                    uuid: 77dabfd1-1fa7-4f9f-8d3f-487b4403e3aa
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                example:
                  value:
                    httpStatus: 401
                    code: 1014
                    codeDescription: Problem during authentication process, check headers!
                    message: Unable to authenticate request. Check credentials or authentication method
                      details
                    moreInfo: https://apidocs.getresponse.com/en/v3/errors/1014
                    context:
                      authenticationType: auth_token
                    uuid: 62417847-4f12-4c25-9b3a-0b619a187efe
        '429':
          description: The throttling limit has been reached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                example:
                  value:
                    httpStatus: 429
                    code: 1015
                    codeDescription: Too many request to API, quota reached, please wait till next quota
                      window
                    message: You have reached your requests limit for this time window, please wait...
                    moreInfo: https://apidocs.getresponse.com/en/v3/errors/1015
                    context:
                      currentLimit: 30000
                      timeToReset: 100 seconds
                    uuid: 510c6726-7f65-46b7-a798-ca403133924f
      security:
      - api-key: []
      - oauth2:
        - all
    parameters:
    - $ref: '#/components/parameters/formId'
  /forms:
    get:
      tags:
      - Forms
      summary: Get the list of forms.
      description: You can filter the resource using criteria specified as `query[*]`. You can provide
        multiple criteria, to use AND logic. You can sort the resource using parameters specified as `sort[*]`.
        You can specify multiple fields to sort by.
      operationId: getFormList
      parameters:
      - name: query[name]
        in: query
        description: Search forms by name
        required: false
        schema:
          type: string
      - name: query[createdOn][from]
        in: query
        description: Search forms created from this date
        required: false
        schema:
          $ref: '#/components/schemas/DateOrDateTime'
      - name: query[createdOn][to]
        in: query
        description: Search forms created to this date
        required: false
        schema:
          $ref: '#/components/schemas/DateOrDateTime'
      - name: query[campaignId]
        in: query
        description: Search forms assigned to this list (campaign). You can pass multiple comma-separated
          values, eg. `Xd1P,sC7r`
        required: false
        schema:
          type: string
      - name: query[status]
        in: query
        description: Search by status. **Note:** `disabled` includes both `unpublished` and `draft` and
          `enabled` equals `published`
        required: false
        schema:
          type: string
          enum:
          - enabled
          - disabled
          - published
          - unpublished
          - draft
      - name: sort[createdOn]
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/SortOrderEnum'
      - name: sort[name]
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/SortOrderEnum'
      - name: sort[visitors]
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/SortOrderEnum'
      - name: sort[uniqueVisitors]
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/SortOrderEnum'
      - name: sort[subscribed]
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/SortOrderEnum'
      - name: sort[subscriptionRate]
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/SortOrderEnum'
      - $ref: '#/components/parameters/Fields'
      - $ref: '#/components/parameters/PerPage'
      - $ref: '#/components/parameters/Page'
      responses:
        '200':
          $ref: '#/components/responses/FormList'
        '400':
          description: Request validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                example:
                  value:
                    httpStatus: 400
                    code: 1000
                    codeDescription: General error of validation process, more details should be in context
                      section
                    message: Validation error, see context section for more information
                    moreInfo: https://apidocs.getresponse.com/en/v3/errors/1000
                    context:
                      validationType: searchFilter[query]
                      fieldName: name
                      originalName: lorem-ipsum
                      errorDescription: Not allowed search field
                    uuid: 77dabfd1-1fa7-4f9f-8d3f-487b4403e3aa
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                example:
                  value:
                    httpStatus: 401
                    code: 1014
                    codeDescription: Problem during authentication process, check headers!
                    message: Unable to authenticate request. Check credentials or authentication method
                      details
                    moreInfo: https://apidocs.getresponse.com/en/v3/errors/1014
                    context:
                      authenticationType: auth_token
                    uuid: 62417847-4f12-4c25-9b3a-0b619a187efe
        '429':
          description: The throttling limit has been reached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                example:
                  value:
                    httpStatus: 429
                    code: 1015
                    codeDescription: Too many request to API, quota reached, please wait till next quota
                      window
                    message: You have reached your requests limit for this time window, please wait...
                    moreInfo: https://apidocs.getresponse.com/en/v3/errors/1015
                    context:
                      currentLimit: 30000
                      timeToReset: 100 seconds
                    uuid: 510c6726-7f65-46b7-a798-ca403133924f
      security:
      - api-key: []
      - oauth2:
        - all
components:
  headers:
    CurrentPage:
      description: The current page number
      schema:
        type: integer
        format: int32
    RateLimitLimit:
      description: The total number of requests available per time frame
      schema:
        type: integer
        format: int32
    RateLimitRemaining:
      description: The number of requests left in the current time frame
      schema:
        type: integer
        format: int32
    RateLimitReset:
      description: Seconds left in the current time frame, e.g. "432 seconds"
      schema:
        type: string
    TotalCount:
      description: The total number of resources found for the specified conditions
      schema:
        type: integer
        format: int32
    TotalPages:
      description: The total number of pages
      schema:
        type: integer
        format: int32
  parameters:
    Fields:
      name: fields
      in: query
      description: List of fields that should be returned. Id is always returned. Fields should be separated
        by comma
      required: false
      schema:
        type: string
    Page:
      name: page
      in: query
      description: Page number
      required: false
      schema:
        type: integer
        format: int32
        default: 1
        minimum: 1
    PerPage:
      name: perPage
      in: query
      description: Requested number of results per page
      required: false
      schema:
        type: integer
        format: int32
        default: 100
        maximum: 1000
        minimum: 1
    formId:
      name: formId
      in: path
      description: The form ID
      required: true
      schema:
        type: string
      example: pL4e
  responses:
    FormDetails:
      description: The form details.
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/RateLimitLimit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/RateLimitRemaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/RateLimitReset'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/FormDetails'
    FormList:
      description: The list of forms.
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/RateLimitLimit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/RateLimitRemaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/RateLimitReset'
        CurrentPage:
          $ref: '#/components/headers/CurrentPage'
        TotalPages:
          $ref: '#/components/headers/TotalPages'
        TotalCount:
          $ref: '#/components/headers/TotalCount'
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Form'
    FormVariantList:
      description: The list of form variants.
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/RateLimitLimit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/RateLimitRemaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/RateLimitReset'
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/FormVariantDetails'
  schemas:
    CampaignReference:
      required:
      - campaignId
      properties:
        campaignId:
          description: Campaign ID
          type: string
          example: C
        href:
          description: Direct hyperlink to a resource
          type: string
          format: uri
          readOnly: true
          example: https://api.getresponse.com/v3/campaigns/C
        name:
          description: The campaign name
          type: string
          readOnly: true
          example: Promo campaign
          nullable: true
      type: object
    CustomFieldReference:
      properties:
        customFieldId:
          type: string
          readOnly: true
          example: pas
        name:
          description: "\nThe name of the custom field. It must meet the following requirements:\n * be\
            \ unique\n * use only lowercase letters, underscores and digits: [a-z0-9_]{1,128}\n * not\
            \ be equal to one of the merge words used in messages, i.e. `name`, `email`, `twitter`, `facebook`,\
            \ `buzz`, `myspace`, `linkedin`, `digg`, `googleplus`, `pinterest`, `responder`, `campaign`,\
            \ `change`."
          type: string
          maxLength: 128
          minLength: 1
          example: color
        values:
          description: The list of assigned default values, starting from zero depending on the custom
            field format. (Please see description).
          type: array
          items:
            type: string
            example: red
      type: object
    DateOrDateTime:
      oneOf:
      - type: string
        format: date
        example: '2018-04-15'
      - type: string
        format: date-time
        example: 2018-01-15T13:30:42+0000
    ErrorResponse:
      required:
      - httpStatus
      - code
      - codeDescription
      - message
      - moreInfo
      - context
      - uuid
      properties:
        httpStatus:
          description: HTTP response code
          type: integer
          format: int32
        code:
          description: API error code
          type: integer
          format: int32
        codeDescription:
          description: API error code description
          type: string
        message:
          description: Error message
          type: string
        moreInfo:
          description: URL to error description in the API Docs
          type: string
        context:
          type: object
        uuid:
          description: UUID of the error response
          type: string
      type: object
    Form:
      properties:
        formId:
          type: string
          readOnly: true
          example: pL4e
        webformId:
          description: Same as `formId`
          type: string
          readOnly: true
          example: pL4e
        name:
          type: string
          example: My first form
        href:
          description: Direct hyperlink to a resource
          type: string
          format: uri
          readOnly: true
          example: https://api.getresponse.com/v3/forms/pL4e
        hasVariants:
          description: Indicates if the form has variants (A/B tests)
          type: boolean
          readOnly: true
          example: true
        scriptUrl:
          description: The URL to a JavaScript file of the form. This is used to embed the form within
            a web page.
          type: string
          format: uri
          readOnly: true
          example: https://app.getresponse.com/view_webform_v2.js?u=nTfa&webforms_id=123
        status:
          type: string
          enum:
          - published
          - unpublished
          - draft
          example: published
        createdOn:
          type: string
          format: date-time
          example: 2018-07-02T11:22:33+0000
        statistics:
          $ref: '#/components/schemas/FormStatistics'
        campaign:
          $ref: '#/components/schemas/CampaignReference'
      type: object
    FormDetails:
      type: object
      allOf:
      - properties:
          settings:
            $ref: '#/components/schemas/FormSettings'
          variants:
            type: array
            items:
              $ref: '#/components/schemas/FormVariant'
        type: object
      - $ref: '#/components/schemas/Form'
    FormSettings:
      properties:
        optin:
          description: '`single` - Single opt-in means that the contact will be added without confirming
            their subscription first. `double` - Double opt-in means that the contact will receive a subscription
            confirmation email.'
          type: string
          enum:
          - single
          - double
          example: single
        phase:
          description: The contact who subscribed via this form will be added to the selected day in the
            autoresponder cycle. If null, the contact won't be added to the cycle.
          type: integer
          format: int32
          maximum: 9999
          minimum: 0
          example: 5
          nullable: true
        thankYouType:
          description: What should happen when a new contact subscribes via the form.
          type: string
          enum:
          - stay_on_page
          - default
          - custom_url
          example: stay_on_page
        thankYouUrl:
          description: The URL used to redirect the newly subscribed contacts when they complete this
            form. Used if `thankYouType` is `custom_url`.
          type: string
          format: uri
          example: https://example.com/thank-you
          nullable: true
        alreadySubscribedType:
          description: What to do when the address already exists in the campaign
          type: string
          enum:
          - stay_on_page
          - default
          - custom_url
          example: stay_on_page
        alreadySubscribedUrl:
          description: The URL used to redirect the already subscribed contacts when they complete this
            form. Used if `alreadySubscribedType` is `custom_url`.
          type: string
          format: uri
          example: https://example.com/thank-you
          nullable: true
        secondStageCaptcha:
          description: Is captcha enabled for the form
          allOf:
          - $ref: '#/components/schemas/StringBooleanEnum'
        forwardDataRequestType:
          description: How to forward form data to a thank-you page. [Learn more](https://www.getresponse.com/help/building-contact-lists/forms-and-pop-ups/can-i-forward-subscriber-data-to-a-custom-thank-you-page.html).
            `null` means that the data forwarding is turned off.
          type: string
          enum:
          - GET
          - POST
          nullable: true
        trackingCustomField:
          description: Subscribers added via this form will have this custom field set with a value passed
            in `trackingCustomFieldValue`
          type: object
          nullable: true
          allOf:
          - $ref: '#/components/schemas/CustomFieldReference'
        trackingCustomFieldValue:
          description: See the `trackingCustomField` description
          type: string
          example: '123'
          nullable: true
      type: object
    FormStatistics:
      properties:
        visitors:
          description: The total number of form visitors
          type: integer
          format: int64
          example: 4371
        uniqueVisitors:
          description: The number of unique form visitors
          type: integer
          format: int64
          example: 3865
        subscribed:
          description: The number of visitors that subscribed using this form
          type: integer
          format: int64
          example: 2594
        subscriptionRate:
          description: The ratio of `subscribed` to `visitors`
          type: number
          format: double
          example: 0.59
      type: object
    FormVariant:
      properties:
        variant:
          description: The index of variants
          type: string
          readOnly: true
          example: '0'
        variantName:
          type: string
          example: Variant A
        winner:
          description: Is this variant the winner in the A/B test
          allOf:
          - $ref: '#/components/schemas/StringBooleanEnum'
        status:
          type: string
          enum:
          - published
          - unpublished
          - disabled
        createdOn:
          type: string
          format: date-time
          example: 2018-07-11T13:37:25+0000
        statistics:
          $ref: '#/components/schemas/FormStatistics'
      type: object
    FormVariantDetails:
      properties:
        formId:
          type: string
          readOnly: true
          example: pL4e
        webformId:
          description: Same as `formId`
          type: string
          readOnly: true
          example: pL4e
        variant:
          description: The index of variants
          type: string
          readOnly: true
          example: '0'
        variantName:
          type: string
          example: Variant A
        winner:
          description: Is this variant the winner in the A/B test
          type: string
          enum:
          - 'yes'
          - 'no'
        status:
          type: string
          enum:
          - published
          - unpublished
          - disabled
        createdOn:
          type: string
          format: date-time
          example: 2018-07-09T15:45:12+0000
        numberOfVisitors:
          description: The total number of form visitors
          type: integer
          format: int64
          example: 152
        numberOfUniqueVisitors:
          description: The number of unique form visitors
          type: integer
          format: int64
          example: 136
        numberOfSubscribers:
          description: The number of visitors who subscribed through this form
          type: integer
          format: int64
          example: 94
        subscriptionRate:
          description: The ratio of `numberOfSubscribers` to `numberOfVisitors`
          type: number
          format: double
          example: 0.62
      type: object
    SortOrderEnum:
      type: string
      enum:
      - ASC
      - DESC
    StringBooleanEnum:
      type: string
      enum:
      - 'true'
      - 'false'
  securitySchemes:
    api-key:
      type: apiKey
      description: Header value must be prefixed with api-key
      name: X-Auth-Token
      in: header
    oauth2:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://app.getresponse.com/oauth2_authorize.html
          scopes:
            all: all data access
        authorizationCode:
          authorizationUrl: https://app.getresponse.com/oauth2_authorize.html
          tokenUrl: https://api.getresponse.com/v3/token
          scopes:
            all: all data access
        clientCredentials:
          tokenUrl: https://api.getresponse.com/v3/token
          scopes:
            all: all data access