openapi: 3.0.3
info:
  title: Forager public API
  version: 1.0.0
  description: Forager public API endpoints documentation
servers:
  - url: https://api-v2.forager.ai
paths:
  /api/{account_id}/datastorage/job_search/:
    post:
      operationId: datastorage_job_search_create
      description: Job post event search.
      summary: Job post event search
      parameters:
        - in: path
          name: account_id
          schema:
            type: integer
          required: true
      tags:
        - datastorage
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobPostEventSearch'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/JobPostEventSearch'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/JobPostEventSearch'
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobPostEventSearchResponse'
          description: ''
  /api/{account_id}/datastorage/job_search/totals/:
    post:
      operationId: datastorage_job_search_totals_create
      description: Job post event search totals.
      summary: Job post event search totals
      parameters:
        - in: path
          name: account_id
          schema:
            type: integer
          required: true
      tags:
        - datastorage
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobPostEventSearch'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/JobPostEventSearch'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/JobPostEventSearch'
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobPostEventSearchTotalsResponse'
          description: ''
  /api/{account_id}/datastorage/organization_search/:
    post:
      operationId: datastorage_organization_search_create
      description: Organization search.
      summary: Organization search
      parameters:
        - in: path
          name: account_id
          schema:
            type: integer
          required: true
      tags:
        - organizations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationSearchRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OrganizationSearchRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrganizationSearchRequest'
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationSearchResponse'
          description: ''
  /api/{account_id}/datastorage/organization_search/totals/:
    post:
      operationId: datastorage_organization_search_totals_create
      description: Organization search totals.
      summary: Organization search totals
      parameters:
        - in: path
          name: account_id
          schema:
            type: integer
          required: true
      tags:
        - organizations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationSearchRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OrganizationSearchRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrganizationSearchRequest'
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationSearchTotalsResponse'
          description: ''
  /api/{account_id}/datastorage/person_contacts_lookup/personal_emails/:
    post:
      operationId: datastorage_person_contacts_lookup_personal_emails_create
      description: Do Person personal emails lookup.
      summary: Person personal emails lookup
      parameters:
        - in: path
          name: account_id
          schema:
            type: integer
          required: true
      tags:
        - persons
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonInfoRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PersonInfoRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PersonInfoRequest'
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonEmailDetail'
          description: ''
  /api/{account_id}/datastorage/person_contacts_lookup/phone_numbers/:
    post:
      operationId: datastorage_person_contacts_lookup_phone_numbers_create
      description: Do Person phone numbers lookup.
      summary: Person phone numbers lookup
      parameters:
        - in: path
          name: account_id
          schema:
            type: integer
          required: true
      tags:
        - persons
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonInfoRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PersonInfoRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PersonInfoRequest'
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonPhoneDetail'
          description: ''
  /api/{account_id}/datastorage/person_contacts_lookup/work_emails/:
    post:
      operationId: datastorage_person_contacts_lookup_work_emails_create
      description: Do Person work emails lookup.
      summary: Person work emails lookup
      parameters:
        - in: path
          name: account_id
          schema:
            type: integer
          required: true
      tags:
        - persons
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonWorkEmailsRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PersonWorkEmailsRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PersonWorkEmailsRequest'
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonEmailDetail'
          description: ''
  /api/{account_id}/datastorage/person_detail_lookup/:
    post:
      operationId: datastorage_person_detail_lookup_create
      description: Do Person details lookup.
      summary: Person detail lookup
      parameters:
        - in: path
          name: account_id
          schema:
            type: integer
          required: true
      tags:
        - persons
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonInfoRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PersonInfoRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PersonInfoRequest'
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonDetail'
          description: ''
  /api/{account_id}/datastorage/person_detail_reverse_lookup/by_email/:
    post:
      operationId: datastorage_person_detail_reverse_lookup_by_email_create
      description: Do reverse lookup of person details by email.
      summary: Person Detail Lookup by Email
      parameters:
        - in: path
          name: account_id
          schema:
            type: integer
          required: true
      tags:
        - persons
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonReverseSearchByEmail'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PersonReverseSearchByEmail'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PersonReverseSearchByEmail'
        required: true
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonDetail'
          description: ''
  /api/{account_id}/datastorage/person_detail_reverse_lookup/by_phone_number/:
    post:
      operationId: datastorage_person_detail_reverse_lookup_by_phone_number_create
      description: Do reverse lookup of person details by phone number.
      summary: Person Detail Lookup by Phone
      parameters:
        - in: path
          name: account_id
          schema:
            type: integer
          required: true
      tags:
        - persons
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonReverseSearchByPhoneNumber'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PersonReverseSearchByPhoneNumber'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PersonReverseSearchByPhoneNumber'
        required: true
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonDetail'
          description: ''
  /api/{account_id}/datastorage/person_role_search/:
    post:
      operationId: datastorage_person_role_search_create
      description: Do search.
      summary: Person Role Search
      parameters:
        - in: path
          name: account_id
          schema:
            type: integer
          required: true
      tags:
        - persons
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationPersonRoleSearch'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OrganizationPersonRoleSearch'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrganizationPersonRoleSearch'
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonRoleSearchResponse'
          description: ''
  /api/{account_id}/datastorage/person_role_search/totals/:
    post:
      operationId: datastorage_person_role_search_totals_create
      description: Organization person role search totals.
      summary: Person Role Search Totals
      parameters:
        - in: path
          name: account_id
          schema:
            type: integer
          required: true
      tags:
        - persons
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationPersonRoleSearch'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OrganizationPersonRoleSearch'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrganizationPersonRoleSearch'
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonRoleSearchTotalsResponse'
          description: ''
  /api/{account_id}/datastorage/website_detail_lookup/:
    post:
      operationId: datastorage_website_detail_lookup_create
      description: Do WebSite detail lookup.
      summary: Website Details Lookup
      parameters:
        - in: path
          name: account_id
          schema:
            type: integer
          required: true
      tags:
        - datastorage
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebSiteLookupRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/WebSiteLookupRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/WebSiteLookupRequest'
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebSite'
          description: ''
  /api/{account_id}/subscriptions/balance_change_logs/:
    get:
      operationId: subscriptions_balance_change_logs_list
      description: CreditsBalanceChangeLog list view.
      summary: Credit Balance Change Log
      parameters:
        - in: path
          name: account_id
          schema:
            type: integer
          required: true
        - in: query
          name: date_created_end
          schema:
            type: string
            format: date-time
        - in: query
          name: date_created_start
          schema:
            type: string
            format: date-time
        - name: page
          required: false
          in: query
          description: A page number within the paginated result set.
          schema:
            type: integer
      tags:
        - subscriptions
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCreditsBalanceChangeLogList'
          description: ''
  /api/{account_id}/subscriptions/balance_change_logs/totals/:
    get:
      operationId: subscriptions_balance_change_logs_totals_retrieve
      description: Calculate the total of credits spent during the specified timeframe.
      summary: Credit Consumption Totals
      parameters:
        - in: path
          name: account_id
          schema:
            type: integer
          required: true
        - in: query
          name: date_created_end
          schema:
            type: string
            format: date-time
        - in: query
          name: date_created_start
          schema:
            type: string
            format: date-time
      tags:
        - subscriptions
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TotalCreditsSpent'
          description: ''
  /api/api_keys/:
    get:
      operationId: api_keys_list
      description: API view for managing API keys.
      summary: List API keys
      tags:
        - api_keys
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/APIKey'
          description: ''
    post:
      operationId: api_keys_create
      description: Handle creation of a new API key.
      summary: Create a new API key
      tags:
        - api_keys
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/APIKey'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/APIKey'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/APIKey'
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIKey'
          description: ''
  /api/api_keys/{prefix}/:
    get:
      operationId: api_keys_retrieve
      description: API view for managing API keys.
      summary: View API key details
      parameters:
        - in: path
          name: prefix
          schema:
            type: string
          required: true
      tags:
        - api_keys
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIKey'
          description: ''
    delete:
      operationId: api_keys_destroy
      description: API view for managing API keys.
      summary: Delete API key
      parameters:
        - in: path
          name: prefix
          schema:
            type: string
          required: true
      tags:
        - api_keys
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '204':
          description: No response body
  /api/users/current/:
    get:
      operationId: users_current_retrieve
      description: A view to retrieve current user details.
      summary: View user information
      tags:
        - users
      security:
        - cookieAuth: []
        - Api-Key: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: ''
  /api/datastorage/autocomplete/industries/:
    get:
      summary: Industries lookup
      operationId: v1_industry_lookup
      tags:
        - objects-lookups
      description: <span id="v1_industry_lookup">Industries objects lookup.</span>
      parameters:
        - name: q
          in: query
          description: Industry name.
          required: true
          schema:
            type: string
        - name: page
          in: query
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: Valid response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Object primary key.
                        text:
                          type: string
                          description: Industry name.
                  pagination:
                    type: object
                    properties:
                      more:
                        type: boolean
                        description: If True then the next page is available.
  /api/datastorage/autocomplete/organizations/:
    get:
      summary: Organizations lookup
      operationId: v1_organization_lookup
      tags:
        - objects-lookups
      description: <span id="v1_organization_lookup">Organizations objects lookup.</span>
      parameters:
        - name: q
          in: query
          description: Organization name or domain.
          required: true
          schema:
            type: string
        - name: page
          in: query
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: Valid response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Object primary key.
                        text:
                          type: string
                          description: Organization name - Organization domain.
                  pagination:
                    type: object
                    properties:
                      more:
                        type: boolean
                        description: If True then the next page is available.
  /api/datastorage/autocomplete/organization_keywords/:
    get:
      summary: Organization keywords lookup
      operationId: v1_organization_keyword_lookup
      tags:
        - objects-lookups
      description: >-
        <span id="v1_organization_keyword_lookup">Organization keywords objects
        lookup.</span>
      parameters:
        - name: q
          in: query
          description: Organization keyword name.
          required: true
          schema:
            type: string
        - name: page
          in: query
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: Valid response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Object primary key.
                        text:
                          type: string
                          description: Organization keywords name.
                  pagination:
                    type: object
                    properties:
                      more:
                        type: boolean
                        description: If True then the next page is available.
  /api/datastorage/autocomplete/locations/:
    get:
      summary: Locations lookup
      operationId: v1_location_lookup
      tags:
        - objects-lookups
      description: <span id="v1_location_lookup">Locations objects lookup.</span>
      parameters:
        - name: q
          in: query
          description: City, State, Country or Continent.
          required: true
          schema:
            type: string
        - name: page
          in: query
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: Valid response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Object primary key.
                        text:
                          type: string
                          description: Location name (Location place type).
                  pagination:
                    type: object
                    properties:
                      more:
                        type: boolean
                        description: If True then the next page is available.
  /api/datastorage/autocomplete/person_skills/:
    get:
      summary: Person skills lookup
      operationId: v1_person_skill_lookup
      tags:
        - objects-lookups
      description: <span id="v1_person_skill_lookup">Person skills objects lookup.</span>
      parameters:
        - name: q
          in: query
          description: Person skill name.
          required: true
          schema:
            type: string
        - name: page
          in: query
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: Valid response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Object primary key.
                        text:
                          type: string
                          description: Person skill name.
                  pagination:
                    type: object
                    properties:
                      more:
                        type: boolean
                        description: If True then the next page is available.
  /api/datastorage/autocomplete/web_technologies/:
    get:
      summary: Web technologies lookup
      operationId: v1_web_technology_lookup
      tags:
        - objects-lookups
      description: >-
        <span id="v1_web_technology_lookup">Web technologies objects
        lookup.</span>
      parameters:
        - name: q
          in: query
          description: Web technology name.
          required: true
          schema:
            type: string
        - name: page
          in: query
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: Valid response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Object primary key.
                        text:
                          type: string
                          description: Web technology name.
                  pagination:
                    type: object
                    properties:
                      more:
                        type: boolean
                        description: If True then the next page is available.
components:
  schemas:
    APIKey:
      type: object
      description: Declares JSON representation of `UserAPIKey` model instances.
      properties:
        prefix:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        name:
          type: string
          description: >-
            A free-form name for the API key. Need not be unique. 50 characters
            max.
          maxLength: 50
      required:
        - created
        - prefix
    Account:
      type: object
      description: Account serializer.
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        subscription:
          allOf:
            - $ref: '#/components/schemas/Subscription'
          readOnly: true
      required:
        - id
        - name
        - subscription
    BillingCycleEnum:
      enum:
        - month
        - year
      type: string
      description: |-
        * `month` - Month
        * `year` - Year
    CreditsBalanceChangeLog:
      type: object
      description: >-
        Declares JSON representation of `CreditsBalanceChangeLog` model
        instances.
      properties:
        id:
          type: integer
          readOnly: true
        change_type:
          type: string
        change_sum:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          title: Credits sum
        change_description:
          type: string
          description: Credits balance change description.
          readOnly: true
        date_created:
          type: string
          format: date-time
          readOnly: true
      required:
        - change_description
        - change_sum
        - change_type
        - date_created
        - id
    FundingTypesEnum:
      enum:
        - angel
        - convertible_note
        - corporate_round
        - debt_financing
        - equity_crowdfunding
        - grant
        - initial_coin_offering
        - non_equity_assistance
        - post_ipo_debt
        - post_ipo_equity
        - post_ipo_secondary
        - pre_seed
        - private_equity
        - product_crowdfunding
        - secondary_market
        - seed
        - series_a
        - series_b
        - series_c
        - series_d
        - series_e
        - series_f
        - series_g
        - series_h
        - series_i
        - series_j
        - series_unknown
        - undisclosed
      type: string
      description: |-
        * `angel` - Angel
        * `convertible_note` - Convertible Note
        * `corporate_round` - Corporate Round
        * `debt_financing` - Debt Financing
        * `equity_crowdfunding` - Equity Crowdfunding
        * `grant` - Grant
        * `initial_coin_offering` - Initial coin offering (ICO)
        * `non_equity_assistance` - Non-Equity Assistance
        * `post_ipo_debt` - Post-IPO Debt
        * `post_ipo_equity` - Post-IPO Equity
        * `post_ipo_secondary` - Post-IPO Secondary
        * `pre_seed` - Pre-Seed
        * `private_equity` - Private Equity
        * `product_crowdfunding` - Product Crowdfunding
        * `secondary_market` - Secondary Market
        * `seed` - Seed
        * `series_a` - Series A
        * `series_b` - Series B
        * `series_c` - Series C
        * `series_d` - Series D
        * `series_e` - Series E
        * `series_f` - Series F
        * `series_g` - Series G
        * `series_h` - Series H
        * `series_i` - Series I
        * `series_j` - Series J
        * `series_unknown` - Venture - Series Unknown
        * `undisclosed` - Undisclosed
    InnerLocation:
      type: object
      description: Serializer for the InnerLocation model.
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        osm_locations:
          type: array
          items:
            $ref: '#/components/schemas/OSMLocation'
          readOnly: true
      required:
        - id
        - name
        - osm_locations
    JobInnerLocation:
      type: object
      description: Serializer for the InnerLocation model for Jobs search API.
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        osm_locations:
          type: array
          items:
            $ref: '#/components/schemas/JobOSMLocation'
          readOnly: true
      required:
        - id
        - name
        - osm_locations
    JobOSMLocation:
      type: object
      description: Serializer for the OSMLocation model for Jobs search API.
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        place_type:
          type: string
          title: Type
          maxLength: 255
      required:
        - id
        - name
        - place_type
    JobPostEventSearch:
      type: object
      description: JobPostEvent search request serializer.
      properties:
        page:
          type: integer
        job_source:
          $ref: '#/components/schemas/JobSourceEnum'
        date_featured_start:
          type: string
          format: date
        date_featured_end:
          type: string
          format: date
        organization_ids:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a
            href="#v1_organization_lookup">Organizations lookup endpoint</a>.
        title:
          type: string
          description: This field supports a boolean text search query.
        description:
          type: string
          description: This field supports a boolean text search query.
        is_remote:
          type: boolean
          nullable: true
        is_active:
          type: boolean
          default: true
        locations:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_location_lookup">Locations
            lookup endpoint</a>.
        locations_exclude:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_location_lookup">Locations
            lookup endpoint</a>.
    JobPostEventSearchResponse:
      type: object
      description: OrganizationJobPostEvent search response serializer.
      properties:
        search_results:
          type: array
          items:
            $ref: '#/components/schemas/JobPostEventSearchResult'
          readOnly: true
        total_search_results:
          type: integer
          minimum: 0
      required:
        - search_results
        - total_search_results
    JobPostEventSearchResult:
      type: object
      description: Serializer for the OrganizationJobPostEvent model for Jobs search API.
      properties:
        id:
          type: integer
          readOnly: true
        source:
          allOf:
            - $ref: '#/components/schemas/Source089Enum'
          readOnly: true
        date_featured:
          type: string
          format: date
        organization:
          allOf:
            - $ref: '#/components/schemas/ShortOrganization'
          readOnly: true
        source_id:
          type: string
          maxLength: 65
        url:
          type: string
          format: uri
          maxLength: 510
        title:
          type: string
          maxLength: 255
        description:
          type: string
          nullable: true
        is_remote:
          type: boolean
          title: Is remote?
        location:
          allOf:
            - $ref: '#/components/schemas/JobInnerLocation'
          readOnly: true
        is_active:
          type: boolean
          title: Is active?
      required:
        - date_featured
        - id
        - is_active
        - is_remote
        - location
        - organization
        - source
        - source_id
        - title
        - url
    JobPostEventSearchTotalsResponse:
      type: object
      description: OrganizationJobPostEvent search totals response serializer.
      properties:
        total_search_results:
          type: integer
          minimum: 0
      required:
        - total_search_results
    JobSourceEnum:
      enum:
        - indeed
        - linkedin
        - angellist
      type: string
      description: |-
        * `indeed` - Indeed
        * `linkedin` - LinkedIn
        * `angellist` - AngelList
    LinkedinIndustry:
      type: object
      description: Serializer for the LinkedinIndustry document.
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
      required:
        - id
        - name
    OSMLocation:
      type: object
      description: Serializer for the OSMLocation model.
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        place_type:
          type: string
          title: Type
          maxLength: 255
      required:
        - id
        - name
        - place_type
    OrganizationAddress:
      type: object
      description: Serializer for the OrganizationAddress model.
      properties:
        street_number:
          type: string
          nullable: true
          maxLength: 255
        street_name:
          type: string
          nullable: true
          maxLength: 255
        city:
          type: string
          nullable: true
          maxLength: 255
        state:
          type: string
          nullable: true
          title: State/County
          maxLength: 255
        postcode:
          type: string
          nullable: true
          title: Post/Zip-code
          maxLength: 64
        country:
          type: string
          maxLength: 255
        summary:
          type: string
      required:
        - country
        - summary
    OrganizationFinanceInfo:
      type: object
      description: Serializer for the OrganizationFinanceInfo model.
      properties:
        revenue:
          type: integer
          maximum: 9223372036854776000
          minimum: 0
          format: int64
          nullable: true
    OrganizationFundingEvent:
      type: object
      description: Serializer for the OrganizationFundingEvent model.
      properties:
        id:
          type: integer
          readOnly: true
        source:
          allOf:
            - $ref: '#/components/schemas/OrganizationFundingEventSourceEnum'
          readOnly: true
        date_featured:
          type: string
          format: date
        organization_id:
          type: integer
          readOnly: true
        funding_type:
          type: string
          maxLength: 255
        funding_total:
          type: integer
          maximum: 9223372036854776000
          minimum: 0
          format: int64
      required:
        - date_featured
        - funding_total
        - funding_type
        - id
        - organization_id
        - source
    OrganizationFundingEventSourceEnum:
      enum:
        - crunchbase
      type: string
      description: '* `crunchbase` - Crunchbase'
    OrganizationJobPostEvent:
      type: object
      description: Serializer for the OrganizationJobPostEvent model.
      properties:
        id:
          type: integer
          readOnly: true
        source:
          allOf:
            - $ref: '#/components/schemas/Source089Enum'
          readOnly: true
        date_featured:
          type: string
          format: date
        organization_id:
          type: integer
          readOnly: true
        source_id:
          type: string
          maxLength: 65
        url:
          type: string
          format: uri
          maxLength: 510
        title:
          type: string
          maxLength: 255
        is_remote:
          type: boolean
          title: Is remote?
        is_active:
          type: boolean
          title: Is active?
      required:
        - date_featured
        - id
        - is_active
        - is_remote
        - organization_id
        - source
        - source_id
        - title
        - url
    OrganizationKeyword:
      type: object
      description: Serializer for the OrganizationKeyword model.
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
      required:
        - id
        - name
    OrganizationLinkedinInfo:
      type: object
      description: Serializer for the OrganizationLinkedinInfo model.
      properties:
        public_identifier:
          type: string
          nullable: true
          maxLength: 255
        industry:
          allOf:
            - $ref: '#/components/schemas/LinkedinIndustry'
          readOnly: true
        public_profile_url:
          type: string
          nullable: true
          description: Get LinkedIn public profile URL.
          readOnly: true
      required:
        - industry
        - public_profile_url
    OrganizationPersonRoleSearch:
      type: object
      description: OrganizationPersonRole search request serializer.
      properties:
        page:
          type: integer
        role_title:
          type: string
          description: This field supports a boolean text search query.
        role_description:
          type: string
          description: This field supports a boolean text search query.
        role_is_current:
          type: boolean
          default: true
        role_position_start_date:
          type: string
          format: date
        role_position_end_date:
          type: string
          format: date
        role_years_on_position_start:
          type: integer
        role_years_on_position_end:
          type: integer
        person_name:
          type: string
          description: This field supports a boolean text search query.
        person_headline:
          type: string
          description: This field supports a boolean text search query.
        person_description:
          type: string
          description: This field supports a boolean text search query.
        person_skills:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_person_skill_lookup">Person
            skills lookup endpoint</a>.
        person_locations:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_location_lookup">Locations
            lookup endpoint</a>.
        person_industries:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_industry_lookup">Industries
            lookup endpoint</a>.
        person_industries_exclude:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_industry_lookup">Industries
            lookup endpoint</a>.
        person_linkedin_public_identifiers:
          type: array
          items:
            type: string
          description: >-
            LinkedIn person "Public identifier/Slug/ID" -
            "linkedin.com/in/!slug!/".
        organizations:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a
            href="#v1_organization_lookup">Organizations lookup endpoint</a>.
        organizations_bulk_domain:
          type: string
        organization_domains:
          type: array
          items:
            type: string
        organization_description:
          type: string
          description: This field supports a boolean text search query.
        organization_locations:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_location_lookup">Locations
            lookup endpoint</a>.
        organization_industries:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_industry_lookup">Industries
            lookup endpoint</a>.
        organization_industries_exclude:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_industry_lookup">Industries
            lookup endpoint</a>.
        organization_keywords:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a
            href="#v1_organization_keyword_lookup">Organization keywords lookup
            endpoint</a>.
        organization_web_technologies:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_web_technology_lookup">Web
            technologies lookup endpoint</a>.
        organization_founded_date_start:
          type: string
          format: date
        organization_founded_date_end:
          type: string
          format: date
        organization_employees_start:
          type: integer
        organization_employees_end:
          type: integer
        organization_revenue_start:
          type: integer
        organization_revenue_end:
          type: integer
        organization_domain_rank_start:
          type: integer
        organization_domain_rank_end:
          type: integer
        organization_linkedin_public_identifiers:
          type: array
          items:
            type: string
          description: >-
            LinkedIn organization "Public identifier/Slug/ID" -
            "linkedin.com/company/!slug!/".
        funding_types:
          type: array
          items:
            $ref: '#/components/schemas/FundingTypesEnum'
        funding_total_start:
          type: integer
        funding_total_end:
          type: integer
        funding_event_date_featured_start:
          type: string
          format: date
        funding_event_date_featured_end:
          type: string
          format: date
        job_post_title:
          type: string
          description: This field supports a boolean text search query.
        job_post_description:
          type: string
          description: This field supports a boolean text search query.
        job_post_is_remote:
          type: boolean
          nullable: true
        job_post_is_active:
          type: boolean
          nullable: true
        job_post_date_featured_start:
          type: string
          format: date
        job_post_date_featured_end:
          type: string
          format: date
        job_post_locations:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_location_lookup">Locations
            lookup endpoint</a>.
        job_post_locations_exclude:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_location_lookup">Locations
            lookup endpoint</a>.
        simple_event_source:
          $ref: '#/components/schemas/SimpleEventSourceEnum'
        simple_event_reason:
          $ref: '#/components/schemas/SimpleEventReasonEnum'
        simple_event_date_featured_start:
          type: string
          format: date
        simple_event_date_featured_end:
          type: string
          format: date
    OrganizationPersonRoleSearchResult:
      type: object
      description: Serializer for OrganizationPersonRole search results.
      properties:
        id:
          type: integer
          readOnly: true
        role_title:
          type: string
          nullable: true
          maxLength: 255
        start_date:
          type: string
          format: date
          nullable: true
        end_date:
          type: string
          format: date
          nullable: true
        duration:
          type: string
          nullable: true
          title: Role duration
          maxLength: 255
        description:
          type: string
          nullable: true
        is_current:
          type: boolean
          title: Is current?
        organization:
          allOf:
            - $ref: '#/components/schemas/OrganizationSearchResult'
          readOnly: true
        person:
          allOf:
            - $ref: '#/components/schemas/PersonChild'
          readOnly: true
        date_updated:
          type: string
          format: date-time
          readOnly: true
      required:
        - date_updated
        - id
        - is_current
        - organization
        - person
    OrganizationSearchRequest:
      type: object
      description: Organization search request serializer.
      properties:
        page:
          type: integer
        organization_ids:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a
            href="#v1_organization_lookup">Organizations lookup endpoint</a>.
        description:
          type: string
        locations:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_location_lookup">Locations
            lookup endpoint</a>.
        industries:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_industry_lookup">Industries
            lookup endpoint</a>.
        industries_exclude:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_industry_lookup">Industries
            lookup endpoint</a>.
        keywords:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a
            href="#v1_organization_keyword_lookup">Organization keywords lookup
            endpoint</a>.
        employees_start:
          type: integer
        employees_end:
          type: integer
        founded_date_start:
          type: string
          format: date
        founded_date_end:
          type: string
          format: date
        revenue_start:
          type: integer
        revenue_end:
          type: integer
        domains:
          type: array
          items:
            type: string
        domain_rank_start:
          type: integer
        domain_rank_end:
          type: integer
        domain_traffic_start:
          type: integer
        domain_traffic_end:
          type: integer
        web_technologies:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a
            href="#v1_organization_keyword_lookup">Organization keywords lookup
            endpoint</a>.
        linkedin_public_identifiers:
          type: array
          items:
            type: string
          description: >-
            LinkedIn organization "Public identifier/Slug/ID" -
            "linkedin.com/company/!slug!/".
        funding_types:
          type: array
          items:
            $ref: '#/components/schemas/FundingTypesEnum'
        funding_total_start:
          type: integer
        funding_total_end:
          type: integer
        funding_event_date_featured_start:
          type: string
          format: date
        funding_event_date_featured_end:
          type: string
          format: date
        job_post_title:
          type: string
          description: This field supports a boolean text search query.
        job_post_description:
          type: string
          description: This field supports a boolean text search query.
        job_post_is_remote:
          type: boolean
          nullable: true
        job_post_is_active:
          type: boolean
          nullable: true
        job_post_date_featured_start:
          type: string
          format: date
        job_post_date_featured_end:
          type: string
          format: date
        job_post_locations:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_location_lookup">Locations
            lookup endpoint</a>.
        job_post_locations_exclude:
          type: array
          items:
            type: integer
          description: >-
            To get a list of IDs use <a href="#v1_location_lookup">Locations
            lookup endpoint</a>.
        simple_event_source:
          $ref: '#/components/schemas/SimpleEventSourceEnum'
        simple_event_reason:
          $ref: '#/components/schemas/SimpleEventReasonEnum'
        simple_event_date_featured_start:
          type: string
          format: date
        simple_event_date_featured_end:
          type: string
          format: date
    OrganizationSearchResponse:
      type: object
      description: Organization search response serializer.
      properties:
        search_results:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationSearchResult'
          readOnly: true
        total_search_results:
          type: integer
          minimum: 0
      required:
        - search_results
        - total_search_results
    OrganizationSearchResult:
      type: object
      description: Organization search result(With prefetch events) serializer.
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        legal_name:
          type: string
          maxLength: 255
        website:
          type: string
          format: uri
          nullable: true
          maxLength: 16384
        domain:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        domain_rank:
          type: integer
          nullable: true
          description: Domain rank.
          readOnly: true
        logo:
          type: string
          format: uri
          nullable: true
          maxLength: 510
        description:
          type: string
          nullable: true
        founded_date:
          type: string
          format: date
          nullable: true
        operating_status:
          type: string
          nullable: true
          maxLength: 255
        employees_range:
          type: string
          nullable: true
          maxLength: 255
        employees_amount:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
        keywords:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationKeyword'
          readOnly: true
        location:
          allOf:
            - $ref: '#/components/schemas/InnerLocation'
          readOnly: true
        finance_info:
          allOf:
            - $ref: '#/components/schemas/OrganizationFinanceInfo'
          readOnly: true
        linkedin_info:
          allOf:
            - $ref: '#/components/schemas/OrganizationLinkedinInfo'
          readOnly: true
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationAddress'
          readOnly: true
        date_updated:
          type: string
          format: date-time
          readOnly: true
        found_simple_events:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationSimpleEvent'
          description: >-
            Events will be available in case any event field would be used for
            the search. In results will be available 30 most recent matches.
        found_funding_events:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationFundingEvent'
          description: >-
            Events will be available in case any event field would be used for
            the search. In results will be available 30 most recent matches.
        found_job_post_events:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationJobPostEvent'
          description: >-
            Events will be available in case any event field would be used for
            the search. In results will be available 30 most recent matches.
      required:
        - addresses
        - date_updated
        - domain_rank
        - finance_info
        - found_funding_events
        - found_job_post_events
        - found_simple_events
        - id
        - keywords
        - legal_name
        - linkedin_info
        - location
        - name
    OrganizationSearchTotalsResponse:
      type: object
      description: Organization search totals response serializer.
      properties:
        total_search_results:
          type: integer
          minimum: 0
      required:
        - total_search_results
    OrganizationSimpleEvent:
      type: object
      description: Serializer for the OrganizationSimpleEvent model.
      properties:
        id:
          type: integer
          readOnly: true
        source:
          allOf:
            - $ref: '#/components/schemas/SourceA7bEnum'
          readOnly: true
        date_featured:
          type: string
          format: date
        organization_id:
          type: integer
          readOnly: true
        reason:
          $ref: '#/components/schemas/ReasonEnum'
        url:
          type: string
          format: uri
          maxLength: 255
      required:
        - date_featured
        - id
        - organization_id
        - reason
        - source
        - url
    PaginatedCreditsBalanceChangeLogList:
      type: object
      properties:
        count:
          type: integer
          example: 15
        next:
          type: integer
          nullable: true
          example: 2
        previous:
          type: integer
          nullable: true
          example: null
        results:
          type: array
          items:
            $ref: '#/components/schemas/CreditsBalanceChangeLog'
    PersonChild:
      type: object
      description: Child serializer for the Person model.
      properties:
        id:
          type: integer
          readOnly: true
        full_name:
          type: string
          maxLength: 255
        first_name:
          type: string
          maxLength: 255
        last_name:
          type: string
          nullable: true
          maxLength: 255
        photo:
          type: string
          format: uri
          nullable: true
          maxLength: 255
        gender:
          type: string
          nullable: true
          maxLength: 255
        headline:
          type: string
          nullable: true
          maxLength: 255
        description:
          type: string
          nullable: true
        skills:
          type: array
          items:
            $ref: '#/components/schemas/PersonSkill'
          readOnly: true
        location:
          allOf:
            - $ref: '#/components/schemas/InnerLocation'
          readOnly: true
        linkedin_info:
          allOf:
            - $ref: '#/components/schemas/PersonLinkedinInfo'
          readOnly: true
        date_updated:
          type: string
          format: date-time
          readOnly: true
      required:
        - date_updated
        - first_name
        - full_name
        - id
        - linkedin_info
        - location
        - skills
    PersonDetail:
      type: object
      description: Person details serializer.
      properties:
        id:
          type: integer
          readOnly: true
        full_name:
          type: string
          maxLength: 255
        first_name:
          type: string
          maxLength: 255
        last_name:
          type: string
          nullable: true
          maxLength: 255
        photo:
          type: string
          format: uri
          nullable: true
          maxLength: 255
        gender:
          type: string
          nullable: true
          maxLength: 255
        headline:
          type: string
          nullable: true
          maxLength: 255
        description:
          type: string
          nullable: true
        skills:
          type: array
          items:
            $ref: '#/components/schemas/PersonSkill'
          readOnly: true
        location:
          allOf:
            - $ref: '#/components/schemas/InnerLocation'
          readOnly: true
        linkedin_info:
          allOf:
            - $ref: '#/components/schemas/PersonLinkedinInfo'
          readOnly: true
        roles:
          type: array
          items:
            $ref: '#/components/schemas/PersonRoleChild'
        educations:
          type: array
          items:
            $ref: '#/components/schemas/PersonEducation'
      required:
        - educations
        - first_name
        - full_name
        - id
        - linkedin_info
        - location
        - roles
        - skills
    PersonEducation:
      type: object
      description: Serializer for the PersonEducation model.
      properties:
        id:
          type: integer
          readOnly: true
        school_name:
          type: string
          maxLength: 255
        organization:
          allOf:
            - $ref: '#/components/schemas/ShortOrganization'
          readOnly: true
        description:
          type: string
          nullable: true
        grade:
          type: string
          nullable: true
          maxLength: 255
        degree:
          type: string
          nullable: true
          maxLength: 255
        activities:
          type: string
          nullable: true
          maxLength: 255
        field_of_study:
          type: string
          nullable: true
          maxLength: 255
        start_date:
          type: string
          format: date
          nullable: true
        end_date:
          type: string
          format: date
          nullable: true
      required:
        - id
        - organization
        - school_name
    PersonEmailDetail:
      type: object
      description: Person details email serializer, implemented for documentation.
      properties:
        email:
          type: string
          format: email
          readOnly: true
        email_type:
          type: string
          readOnly: true
        validation_status:
          allOf:
            - $ref: '#/components/schemas/ValidationStatusEnum'
          readOnly: true
      required:
        - email
        - email_type
        - validation_status
    PersonInfoRequest:
      type: object
      description: Person info request serializer.
      properties:
        person_id:
          type: integer
        linkedin_public_identifier:
          type: string
          description: >-
            LinkedIn organization "Public identifier/Slug/ID" -
            "linkedin.com/in/!slug!/".
    PersonLinkedinInfo:
      type: object
      description: Serializer for the PersonLinkedinInfo model.
      properties:
        public_identifier:
          type: string
          nullable: true
          maxLength: 255
        industry:
          allOf:
            - $ref: '#/components/schemas/LinkedinIndustry'
          readOnly: true
        public_profile_url:
          type: string
          description: Get LinkedIn public profile URL.
          readOnly: true
      required:
        - industry
        - public_profile_url
    PersonPhoneDetail:
      type: object
      description: Person details phone number serializer, implemented for documentation.
      properties:
        phone_number:
          type: string
          readOnly: true
      required:
        - phone_number
    PersonReverseSearchByEmail:
      type: object
      description: Person reverse search by email request serializer.
      properties:
        email:
          type: string
          format: email
          description: The personal email address of the person being searched.
      required:
        - email
    PersonReverseSearchByPhoneNumber:
      type: object
      description: Person reverse search by phone number request serializer.
      properties:
        phone_number:
          type: string
      required:
        - phone_number
    PersonRoleChild:
      type: object
      description: Child serializer for the OrganizationPersonRole model.
      properties:
        id:
          type: integer
          readOnly: true
        role_title:
          type: string
          nullable: true
          maxLength: 255
        start_date:
          type: string
          format: date
          nullable: true
        end_date:
          type: string
          format: date
          nullable: true
        duration:
          type: string
          nullable: true
          title: Role duration
          maxLength: 255
        description:
          type: string
          nullable: true
        is_current:
          type: boolean
          title: Is current?
        organization:
          allOf:
            - $ref: '#/components/schemas/ShortOrganization'
          readOnly: true
        organization_name:
          type: string
          nullable: true
          maxLength: 255
      required:
        - id
        - is_current
        - organization
    PersonRoleSearchResponse:
      type: object
      description: OrganizationPersonRole search response serializer.
      properties:
        search_results:
          type: array
          items:
            $ref: '#/components/schemas/OrganizationPersonRoleSearchResult'
          readOnly: true
        total_search_results:
          type: integer
          minimum: 0
      required:
        - search_results
        - total_search_results
    PersonRoleSearchTotalsResponse:
      type: object
      description: OrganizationPersonRole search totals response serializer.
      properties:
        total_search_results:
          type: integer
          minimum: 0
        total_persons:
          type: integer
          minimum: 0
        total_organizations:
          type: integer
          minimum: 0
      required:
        - total_organizations
        - total_persons
        - total_search_results
    PersonSkill:
      type: object
      description: Serializer for the PersonSkill model.
      properties:
        name:
          type: string
          maxLength: 255
      required:
        - name
    PersonWorkEmailsRequest:
      type: object
      description: Person work emails request serializer.
      properties:
        person_id:
          type: integer
        linkedin_public_identifier:
          type: string
          description: >-
            LinkedIn organization "Public identifier/Slug/ID" -
            "linkedin.com/in/!slug!/".
        do_contacts_enrichment:
          type: boolean
          default: false
    ReasonEnum:
      enum:
        - report_released
        - promoted_on_site
      type: string
      description: |-
        * `report_released` - Report released
        * `promoted_on_site` - Promoted on site
    ShortOrganization:
      type: object
      description: Short serializer for the Organization model.
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        domain:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        linkedin_info:
          allOf:
            - $ref: '#/components/schemas/OrganizationLinkedinInfo'
          readOnly: true
      required:
        - id
        - linkedin_info
        - name
    SimpleEventReasonEnum:
      enum:
        - report_released
        - promoted_on_site
      type: string
      description: |-
        * `report_released` - Report released
        * `promoted_on_site` - Promoted on site
    SimpleEventSourceEnum:
      enum:
        - product_hunt
        - form_c_sec_gov
        - form_d_sec_gov
      type: string
      description: |-
        * `product_hunt` - Product Hunt
        * `form_c_sec_gov` - Form C sec.gov
        * `form_d_sec_gov` - Form D sec.gov
    Source089Enum:
      enum:
        - indeed
        - linkedin
        - angellist
      type: string
      description: |-
        * `indeed` - Indeed
        * `linkedin` - LinkedIn
        * `angellist` - AngelList
    SourceA7bEnum:
      enum:
        - product_hunt
        - form_c_sec_gov
        - form_d_sec_gov
      type: string
      description: |-
        * `product_hunt` - Product Hunt
        * `form_c_sec_gov` - Form C sec.gov
        * `form_d_sec_gov` - Form D sec.gov
    StripeSubscriptionPrice:
      type: object
      description: Stripe subscription price serializer.
      properties:
        id:
          type: integer
          readOnly: true
        price_per_month_usd:
          type: string
          format: decimal
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
          title: Price per month (USD)
        min_credits:
          type: integer
          maximum: 2147483647
          minimum: 0
        billing_cycle:
          $ref: '#/components/schemas/BillingCycleEnum'
      required:
        - id
    Subscription:
      type: object
      description: Subscription serializer.
      properties:
        id:
          type: integer
          readOnly: true
        is_active:
          type: boolean
          title: Is active?
        credits_balance:
          type: integer
          readOnly: true
        subscription_tier:
          allOf:
            - $ref: '#/components/schemas/SubscriptionTier'
          readOnly: true
        stripe_subscription_id:
          type: string
          nullable: true
          maxLength: 65
      required:
        - credits_balance
        - id
        - subscription_tier
    SubscriptionTier:
      type: object
      description: Subscription tier serializer.
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 35
        person_details_lookup:
          type: integer
          maximum: 2147483647
          minimum: 0
        person_work_email_lookup:
          type: integer
          maximum: 2147483647
          minimum: 0
        person_personal_email_lookup:
          type: integer
          maximum: 2147483647
          minimum: 0
        person_phone_number_lookup:
          type: integer
          maximum: 2147483647
          minimum: 0
        person_reverse_email_search:
          type: integer
          maximum: 2147483647
          minimum: 0
        person_reverse_phone_number_search:
          type: integer
          maximum: 2147483647
          minimum: 0
        person_role_details_lookup:
          type: integer
          maximum: 2147483647
          minimum: 0
        person_role_search_api_call:
          type: integer
          maximum: 2147483647
          minimum: 0
        job_search_api_call:
          type: integer
          maximum: 2147483647
          minimum: 0
        organization_search_api_call:
          type: integer
          maximum: 2147483647
          minimum: 0
        organization_technologies_lookup:
          type: integer
          maximum: 2147483647
          minimum: 0
        features:
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionTierFeature'
          readOnly: true
        stripe_subscription_prices:
          type: array
          items:
            $ref: '#/components/schemas/StripeSubscriptionPrice'
          readOnly: true
      required:
        - features
        - id
        - name
        - stripe_subscription_prices
    SubscriptionTierFeature:
      type: object
      description: Subscription tier feature serializer.
      properties:
        description:
          type: string
          maxLength: 255
      required:
        - description
    TotalCreditsSpent:
      type: object
      description: >-
        Declares JSON representation of
        `CreditsBalanceChangeLogsView.total_credits_spent()` action response.
      properties:
        total_credits_spent:
          type: integer
      required:
        - total_credits_spent
    User:
      type: object
      description: Account user serializer.
      properties:
        id:
          type: integer
          readOnly: true
        username:
          type: string
          description: >-
            Required. 150 characters or fewer. Letters, digits and @/./+/-/_
            only.
          pattern: ^[\w.@+-]+$
          maxLength: 150
        email:
          type: string
          format: email
          title: Email address
          maxLength: 254
        first_name:
          type: string
          maxLength: 150
        last_name:
          type: string
          maxLength: 150
        accounts:
          type: array
          items:
            $ref: '#/components/schemas/Account'
          readOnly: true
      required:
        - accounts
        - email
        - id
        - username
    ValidationStatusEnum:
      enum:
        - valid
        - risky
        - invalid
        - unknown
      type: string
      description: |-
        * `valid` - Valid
        * `risky` - Risky
        * `invalid` - Invalid
        * `unknown` - Unknown
    WebSite:
      type: object
      description: WebSite serializer.
      properties:
        id:
          type: integer
          readOnly: true
        domain:
          type: string
          format: uri
          maxLength: 200
        tranco_rank:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: The Tranco three month average traffic rank
        similarweb_rank:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
        similarweb_traffic:
          type: integer
          maximum: 9223372036854776000
          minimum: 0
          format: int64
          nullable: true
        website_technologies:
          type: array
          items:
            $ref: '#/components/schemas/WebSiteTechnology'
          readOnly: true
      required:
        - domain
        - id
        - website_technologies
    WebSiteLookupRequest:
      type: object
      description: WebSite lookup API request serializer.
      properties:
        domain:
          type: string
        organization_id:
          type: integer
        organization_linkedin_public_identifier:
          type: string
    WebSiteTechnology:
      type: object
      description: WebSiteTechnology serializer.
      properties:
        web_technology_id:
          type: integer
          readOnly: true
        is_active:
          type: boolean
          title: Is active?
        name:
          type: string
          description: Get WebTechnology name.
          readOnly: true
      required:
        - name
        - web_technology_id
  securitySchemes:
    Api-Key:
      type: apiKey
      in: header
      name: X-API-KEY
