APIs.io Search API

Search using a cloud search engine.

OpenAPI Specification

apis-io-search-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: .io APIs Search API
  description: This is the technical API contract for the search API for the APIs.io search engine.
  version: 0.1.0
  contact:
    name: Kin Lane
    email: info@apievangelist.com
servers:
- url: https://search-api.apis.io
tags:
- name: Search
  description: Search using a cloud search engine.
paths:
  /search/apis:
    get:
      operationId: searchAPIs
      summary: APIs.io Search APIs
      description: Searching across all APIs by keyword or phrase.
      parameters:
      - $ref: '#/components/parameters/Search'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Page'
      tags:
      - Search
      responses:
        '200':
          description: A successful search.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Search'
              examples:
                AddAPIResponse:
                  $ref: '#/components/examples/SearchResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      summary: APIs.io Submit API
      description: Submit a valid APIs.json to be included in APIs.io.
      operationId: addAPI
      tags:
      - Search
      requestBody:
        description: A valid APIs.json to add API.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/APIsJSON'
            examples:
              AddAPIRequest:
                $ref: '#/components/examples/AddAPIRequest'
      responses:
        '201':
          description: Successful adding of an API.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIsJSON'
              examples:
                AddAPIResponse:
                  $ref: '#/components/examples/AddAPIResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /search:
    get:
      operationId: search
      tags:
      - Search
      summary: Unified search across apis, providers, tags, and artifacts.
      description: "The power endpoint. Choose what kind of object to return with `return`\n(`apis` by default), then constrain with any combination of `q`, `tags`\n(`match=any|all`), `providers`, and `artifact_types`. Use `fields` for sparse\nresponses and `include=content` to inline artifacts.\n\nExample — messaging APIs across providers that ship an OpenAPI, returning just the\nspec and pricing artifacts:\n\n    /search?return=apis&tags=Messaging&artifact_types=OpenAPI,Pricing\n           &fields=aid,name,provider_slug,properties\n"
      parameters:
      - name: return
        in: query
        description: The kind of object to return.
        schema:
          type: string
          enum:
          - apis
          - providers
          - tags
          default: apis
          maxLength: 1024
      - $ref: '#/components/parameters/Q'
      - $ref: '#/components/parameters/Tags'
      - $ref: '#/components/parameters/Match'
      - $ref: '#/components/parameters/Providers'
      - $ref: '#/components/parameters/ArtifactTypes'
      - $ref: '#/components/parameters/IndustryFilter'
      - $ref: '#/components/parameters/RegionFilter'
      - $ref: '#/components/parameters/Include'
      - $ref: '#/components/parameters/BandFilter'
      - $ref: '#/components/parameters/MinScore'
      - name: sort
        in: query
        schema:
          type: string
          enum:
          - relevance
          - name
          - composite
          - api_count
          - created
          default: relevance
          maxLength: 1024
      - $ref: '#/components/parameters/Fields'
      - $ref: '#/components/parameters/Page_2'
      - $ref: '#/components/parameters/Limit_2'
      responses:
        '200':
          description: A page of search results of the requested kind.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResults'
        '400':
          $ref: '#/components/responses/BadRequest_2'
      security: []
components:
  responses:
    Forbidden:
      description: Forbidden
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://example.com/errors/forbidden
            title: Forbidden
            status: 403
            detail: Access is forbidden with the provided credentials.
    BadRequest_2:
      description: Malformed request (bad parameter value).
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem_2'
          example:
            type: https://apis.io/problems/invalid-parameter
            title: Invalid parameter
            status: 400
            detail: '`match` must be one of: any, all.'
            instance: /v1/search
            parameter: match
    TooManyRequests:
      description: Too Many Requests
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://example.com/errors/too-many-requests
            title: Too Many Requests
            status: 429
            detail: You have exceeded the rate limit.
    NotFound:
      description: Not Found
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://example.com/errors/not-found
            title: Not Found
            status: 404
            detail: The requested resource was not found.
    Unauthorized:
      description: Unauthorized
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://example.com/errors/unauthorized
            title: Unauthorized
            status: 401
            detail: You do not have the necessary permissions.
    BadRequest:
      description: Bad Request
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://example.com/errors/bad-request
            title: Bad Request
            status: 400
            detail: The request is invalid or missing required parameters.
    InternalServerError:
      description: Internal Server Error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            type: https://example.com/errors/internal-server-error
            title: Internal Server Error
            status: 500
            detail: An unexpected error occurred.
  schemas:
    Band:
      type: string
      description: Rating band derived from the composite score.
      enum:
      - exemplar
      - strong
      - developing
      - thin
      - minimal
      maxLength: 1024
    Artifact:
      type: object
      description: A machine- or human-readable artifact attached to an API.
      properties:
        id:
          type: string
          description: Stable artifact id, `aid::type::n`.
          examples:
          - twilio:twilio-accounts-api::OpenAPI::0
          maxLength: 1024
        type:
          $ref: '#/components/schemas/ArtifactType'
        name:
          type: string
          description: Optional human label for the artifact.
          maxLength: 1024
        url:
          type: string
          format: uri
          description: Reference to the artifact.
          maxLength: 2048
        aid:
          type: string
          description: aid of the owning API.
          maxLength: 1024
        provider_slug:
          type: string
          maxLength: 1024
        provider_name:
          type: string
          maxLength: 1024
        content:
          type: string
          description: Inlined artifact body. Present only when include=content.
          maxLength: 20000
        content_type:
          type: string
          description: Media type of the inlined content (e.g. application/yaml).
          maxLength: 20000
      required:
      - type
      - url
    Tag:
      description: A consistent set of tag to apply to a description
    SearchResults:
      type: object
      description: 'Unified search envelope. `data` holds objects of the kind named by `meta.return`

        (apis | providers | tags | artifacts).

        '
      properties:
        meta:
          allOf:
          - $ref: '#/components/schemas/Meta_2'
          - type: object
            properties:
              return:
                type: string
                enum:
                - apis
                - providers
                - tags
                - artifacts
                maxLength: 1024
        data:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/Api'
            - $ref: '#/components/schemas/Provider'
            - $ref: '#/components/schemas/Tag_2'
            - $ref: '#/components/schemas/Artifact'
          maxItems: 1000
      required:
      - meta
      - data
    Link:
      type: object
      properties:
        self:
          type: string
        first:
          type: string
        prev:
          type: string
        next:
          type: string
        last:
          type: string
      required:
      - self
    Tag_2:
      type: object
      description: A tag in the taxonomy, with network-wide ranking metadata.
      properties:
        slug:
          type: string
          examples:
          - messaging
          maxLength: 1024
        name:
          type: string
          examples:
          - Messaging
          maxLength: 1024
        composite:
          type: number
          description: Composite ranking score.
          maximum: 1000000000
        band:
          type: string
          enum:
          - strong
          - healthy
          - stale
          - weak
          maxLength: 1024
        frequency:
          type: number
          maximum: 1000000000
        breadth:
          type: number
          maximum: 1000000000
        quality_lift:
          type: number
          maximum: 1000000000
        provider_count:
          type: integer
          maximum: 1000
        api_count:
          type: integer
          maximum: 1000
        variants:
          type: array
          items:
            type: string
            maxLength: 1024
          maxItems: 1000
        neighbors:
          type: array
          description: Related tags.
          items:
            $ref: '#/components/schemas/TagRef'
          maxItems: 1000
        providers:
          type: array
          items:
            $ref: '#/components/schemas/Provider'
          maxItems: 1000
        apis:
          type: array
          items:
            type: object
            properties:
              provider:
                type: string
                maxLength: 1024
              slug:
                type: string
                maxLength: 1024
              name:
                type: string
                maxLength: 1024
          maxItems: 1000
      required:
      - slug
      - name
    TagRef:
      type: object
      properties:
        slug:
          type: string
          maxLength: 1024
        name:
          type: string
          maxLength: 1024
    Meta:
      type: object
      properties:
        search:
          type: string
        type:
          type: string
        limit:
          type: integer
        page:
          type: integer
        totalPages:
          type: integer
      required:
      - totalPages
      - page
      - limit
    Problem_2:
      type: object
      description: 'A Problem Details object per [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457).

        Served as `application/problem+json`. Extension members (e.g. `parameter`) may be

        added alongside the standard fields.

        '
      properties:
        type:
          type: string
          format: uri
          default: about:blank
          description: A URI identifying the problem type; dereferences to human-readable docs.
          examples:
          - https://apis.io/problems/invalid-parameter
          maxLength: 2048
        title:
          type: string
          description: A short, human-readable summary of the problem type.
          examples:
          - Invalid parameter
          maxLength: 1024
        status:
          type: integer
          minimum: 100
          maximum: 599
          description: The HTTP status code, repeated for convenience.
          examples:
          - 400
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence.
          maxLength: 20000
        instance:
          type: string
          format: uri-reference
          description: A URI reference identifying the specific occurrence (typically the request path).
          maxLength: 2048
        parameter:
          type: string
          description: Extension member — the offending query/path parameter, when applicable.
          maxLength: 1024
      required:
      - type
      - title
      - status
      additionalProperties: true
    Include:
      description: Include other APIs.json file
      required:
      - name
      - url
      properties:
        name:
          type: string
          minLength: 1
        url:
          type: string
          pattern: ^(http)|(https)://(.*)$
    Property:
      description: A representation of a URL
      required:
      - type
      - url
      properties:
        type:
          type: string
          pattern: ^(Swagger)$|^(RAML)$|^(Blueprint)$|^(WADL)$|^(WSDL)$|^(TermsOfService)$|^(InterfaceLicense)$|^(StatusPage)$|^(Pricing)$|^(Forums)$|^(AlertsTwitterHandle)$|^(X-[A-Za-z0-9\-]*)$
          enum:
          - Swagger
          - RAML
          - Blueprint
          - WADL
          - WSDL
          - TersmOfService
          - InterfaceLicense
          - StatusPage
          - Pricing
          - Forums
        url:
          type: string
          pattern: ^(http)|(https)://(.*)$
    Trend:
      type: string
      description: Week-over-week movement in composite score (±5 thresholds).
      enum:
      - rising
      - flat
      - falling
      maxLength: 1024
    API:
      description: The description of the API
      required:
      - name
      - description
      - image
      - baseURL
      - humanURL
      - properties
      - contact
      properties:
        name:
          type: string
          description: name
          minLength: 5
        description:
          type: string
          description: description of the API
          minLength: 5
        image:
          type: string
          description: URL of an image representing the API
        baseURL:
          type: string
          pattern: ^(http)|(https)://(.*)$
          description: baseURL
        humanURL:
          type: string
          pattern: ^(http)|(https)://(.*)$
          description: humanURL
        tags:
          type: array
          items:
            type: string
            minLength: 1
          description: tags to describe the API
        properties:
          type: array
          items:
            $ref: '#/components/schemas/Property'
          description: URLs
        contact:
          type: array
          items:
            $ref: '#/components/schemas/Contact'
          description: Contact to reach if questions about API
        meta:
          type: array
          items:
            $ref: '#/components/schemas/metaInformation'
    APIs:
      type: array
      description: Listing of APIs in the APIs.json format.
      items:
        $ref: '#/components/schemas/API'
    Provider:
      type: object
      description: An organization publishing one or more APIs.
      properties:
        slug:
          type: string
          examples:
          - twilio
          maxLength: 1024
        name:
          type: string
          maxLength: 1024
        description:
          type: string
          maxLength: 20000
        api_count:
          type: integer
          maximum: 1000
        image:
          type: string
          format: uri
          maxLength: 2048
        created:
          type: string
          format: date
          maxLength: 10
        common:
          type: array
          description: Provider-wide links (Website, Docs, Pricing, GitHub, social, …).
          items:
            $ref: '#/components/schemas/Link_2'
          maxItems: 1000
        apis:
          type: array
          description: Summary list of the provider's APIs.
          items:
            type: object
            properties:
              name:
                type: string
                maxLength: 1024
              slug:
                type: string
                maxLength: 1024
              description:
                type: string
                maxLength: 20000
          maxItems: 1000
        tags:
          type: array
          description: Tag names in Title Case (e.g. Messaging, Authentication).
          items:
            type: string
            maxLength: 1024
          examples:
          - - Messaging
            - Authentication
          maxItems: 1000
        score:
          $ref: '#/components/schemas/ProviderScore'
      required:
      - slug
      - name
    Search:
      type: object
      description: An JSON API object with metadata, data, and links.
      properties:
        meta:
          $ref: '#/components/schemas/Meta'
        data:
          $ref: '#/components/schemas/APIs'
        links:
          $ref: '#/components/schemas/Link'
      required:
      - meta
      - data
      - links
    Link_2:
      type: object
      properties:
        type:
          type: string
          description: Link/relationship type (e.g. Documentation, Website, GitHub, Pricing).
          maxLength: 1024
        url:
          type: string
          format: uri
          maxLength: 2048
        title:
          type: string
          maxLength: 1024
      required:
      - type
      - url
    Maintainer:
      description: The person or organization responsible for maintaining the API.
      required:
      - name
      properties:
        name:
          type: string
          description: name
          minLength: 5
      additionalProperties:
        type: string
    Problem:
      xml:
        name: problem
        namespace: urn:ietf:rfc:7807
      properties:
        type:
          type: string
          description: A URI reference that identifies the problem type
          example: https://example.com/probs/out-of-credit
        title:
          type: string
          description: A short, human-readable summary of the problem type
          example: You do not have enough credit.
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem
          example: Your current balance is 30, but that costs 50.
        instance:
          type: string
          description: A URI reference that identifies the specific occurrence of the problem
          example: /account/12345/msgs/abc
        status:
          type: integer
          description: The HTTP status code
          example: 400
    Meta_2:
      type: object
      description: Pagination and echoed-query metadata for collection responses.
      properties:
        total:
          type: integer
          description: Total matching items across all pages.
          maximum: 1000000
        page:
          type: integer
          maximum: 1000000
        limit:
          type: integer
          maximum: 1000
        pages:
          type: integer
          description: Total number of pages.
          maximum: 1000000
        query:
          type: object
          additionalProperties: true
          description: The effective query parameters, echoed back.
      required:
      - total
      - page
      - limit
      - pages
    APIsJSON:
      type: object
      required:
      - name
      - description
      - url
      properties:
        name:
          type: string
          description: The name of the service described
          minLength: 5
        description:
          type: string
          description: Description of the service
          minLength: 5
        url:
          type: string
          description: URL where the apis.json file will live
          pattern: ^(http)|(https)://(.*)$
        image:
          type: string
          description: Image to represent the API
        created:
          type: string
          format: date
          description: Date when the file was created
        modified:
          type: string
          format: date
          description: Date when the file was modified
        specificationVersion:
          type: string
          description: APIs.json spec version, latest is 0.18
          enum:
          - 0.18
          - 0.17
          - 0.16
          - 0.15
          - 0.14
        apis:
          type: array
          items:
            $ref: '#/components/schemas/API'
          description: All the APIs of this service
        maintainers:
          type: array
          items:
            $ref: '#/components/schemas/Maintainer'
          description: Maintainers of the apis.json file
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: Tags to describe the service
        include:
          type: array
          items:
            $ref: '#/components/schemas/Include'
          description: Links to other apis.json definitions included in this service.
    Contact:
      description: Information on contacting the API support
      required:
      - FN
      properties:
        FN:
          type: string
          minLength: 1
        email:
          type: string
          format: email
        organizationName:
          type: string
          minLength: 1
        adr:
          type: string
        tel:
          type: string
          minLength: 1
        X-github:
          type: string
        photo:
          type: string
          pattern: ^(http)|(https)://(.*)$
        vCard:
          type: string
          pattern: ^(http)|(https)://(.*)$
        url:
          type: string
          pattern: ^(http)|(https)://(.*)$
    ProviderScore:
      type: object
      description: A provider's rating, rubric v0.3.
      properties:
        composite:
          type: number
          minimum: 0
          maximum: 100
          description: Weighted composite of the six facets.
          examples:
          - 66.3
        band:
          $ref: '#/components/schemas/Band'
        trend:
          $ref: '#/components/schemas/Trend'
        delta:
          type: number
          description: Composite change since the previous snapshot.
          examples:
          - 0.0
          maximum: 1000000000
        previous_composite:
          type: number
          minimum: 0
          maximum: 100
        scored_at:
          type: string
          format: date
          maxLength: 10
        schema_version:
          type: string
          examples:
          - '0.3'
          maxLength: 1024
        facets:
          $ref: '#/components/schemas/Facets'
      required:
      - composite
      - band
    ArtifactType:
      type: string
      description: 'The type of an artifact. Open enumeration — the catalog carries ~50 types; the most

        common are listed here. Unknown values are allowed.

        '
      examples:
      - OpenAPI
      - JSONSchema
      - Postman
      enum:
      - Documentation
      - OpenAPI
      - JSONSchema
      - JSONStructure
      - JSONLD
      - Example
      - GettingStarted
      - APIReference
      - Authentication
      - SDK
      - GitHubRepository
      - Reference
      - Pricing
      - CodeExamples
      - Website
      - RateLimits
      - Portal
      - AsyncAPI
      - Arazzo
      - GitHub
      - ChangeLog
      - SourceCode
      - Repository
      - FAQ
      - SignUp
      - GraphQL
      - Plans
      - Vocabulary
      - Specification
      - Tutorials
      - Sandbox
      - FinOps
      - SpectralRules
      - Console
      - GitHubOrganization
      - ReleaseNotes
      - Support
      - TermsOfService
      - Rules
      - Webhooks
      - Quickstart
      - ProductPage
      - Capabilities
      - PostmanCollection
      - Collection
      - KubernetesCRD
      - Hub
      - NaftikoCapability
      x-extensible-enum: true
      maxLength: 1024
    Api:
      type: object
      description: An individual API owned by a provider.
      properties:
        aid:
          type: string
          examples:
          - twilio:twilio-accounts-api
          maxLength: 1024
        name:
          type: string
          maxLength: 1024
        description:
          type: string
          maxLength: 20000
        provider_slug:
          type: string
          maxLength: 1024
        provider_name:
          type: string
          maxLength: 1024
        baseURL:
          type: string
          format: uri
          maxLength: 2048
        humanURL:
          type: string
          format: uri
          description: Human-facing documentation entry point.
          maxLength: 2048
        tags:
          type: array
          description: Tag names in Title Case (e.g. Messaging, Authentication).
          items:
            type: string
            maxLength: 1024
          examples:
          - - Messaging
            - Authentication
          maxItems: 1000
        properties:
          type: array
          description: The API's artifacts.
          items:
            $ref: '#/components/schemas/Artifact'
          maxItems: 1000
        sibling_apis:
          type: array
          description: Other APIs published by the same provider.
          items:
            type: object
            properties:
              name:
                type: string
                maxLength: 1024
              slug:
                type: string
                maxLength: 1024
          maxItems: 1000
        overview:
          type: string
          description: Narrative overview (markdown).
          maxLength: 1024
      required:
      - aid
      - name
      - provider_slug
    metaInformation:
      description: Metadata about the API
      required:
      - key
      - value
      properties:
        key:
          type: string
        value:
          type: string
    Facets:
      type: object
      description: The six facet scores, each 0–100.
      properties:
        discoverability:
          type: number
          minimum: 0
          maximum: 100
          description: Discoverability facet score (weight 0.10).
        contract_quality:
          type: number
          minimum: 0
          maximum: 100
          description: Contract Quality facet score (weight 0.25).
        governance:
          type: number
          minimum: 0
          maximum: 100
          description: Governance facet score (weight 0.12).
        operational_transparency:
          type: number
          minimum: 0
          maximum: 100
          description: Operational Transparency facet score (weight 0.13).
        developer_ergonomics:
          type: number
          minimum: 0
          maximum: 100
          description: Developer Ergonomics facet score (weight 0.20).
        commercial_clarity:
          type: number
          minimum: 0
          maximum: 100
          description: Commercial Clarity facet score (weight 0.20).
  parameters:
    Page_2:
      name: page
      in: query
      description: 1-based page number.
      schema:
        type: integer
        minimum: 1
        default: 1
        maximum: 1000000
    Limit_2:
      name: limit
      in: query
      description: Items per page.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
    Search:
      name: search
      description: The keyword to search by.
      in: query
      required: false
      schema:
        type: string
    ArtifactTypes:
      name: artifact_types
      in: query
      description: Comma-separated artifact types. Filters which artifacts are returned and (on list endpoints) which APIs qualify.
      style: form
      explode: false
      schema:
        type: array
        items:
          $ref: '#/components/schemas/ArtifactType'
        maxItems: 1000
    Include:
      name: include
      in: query
      description: Extra data to embed. `content` fetches and inlines artifact bodies.
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          enum:
          - content
          maxLength: 1024
        maxItems: 1000
    MinScore:
      name: min_score
      in: query
      description: Minimum composite score (0–100).
      schema:
        type: number
        minimum: 0
        maximum: 100
    Limit:
      name: limit
      description: The limit of the results.
      in: query
      required: false
      schema:
        type: string
    Page:
      name: page
      description: The page of the results.
      in: query
      required: false
      schema:
        type: string
    Fields:
      name: fields
      in: query
      description: Sparse fieldset — comma-separated property names to return.
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          maxLength: 1024
        maxItems: 1000
    Match:
      name: match
      in: query
      description: Whether results must match `any` (default) or `all` of the supplied tags.
      schema:
        type: string
        enum:
        - any
        - all
        default: any
        maxLength: 1024
    RegionFilter:
      name: region
      in: query
      description: Filter by one or more region slugs.
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          maxLength: 1024
        maxItems: 1000
    Providers:
      name: providers
      in: query
      description: Comma-separated provider slugs to scope results to.
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          maxLength: 1024
        maxItems: 1000
    BandFilter:
      name: band
      in: query
      description: Filter by one or more rating bands.
      style: form
      explode: false
      schema:
        type: array
        items:
          $ref: '#/components/schemas/Band'
        maxItems: 1000
    Q:
      name: q
      in: query
      description: Free-text query over name and description (and tags where applicable).
      schema:
        type: string
        maxLength: 1024
    Tags:
      name: tags
      in: query
      description: Comma-separated tags to filter by. Tag names are Title Case (e.g. Messaging); lowercase slugs (e.g. messaging) are also accepted.
      style: form
      explode: false
      example:
      - Messaging
      - Authentication
      schema:
        type: array
        items:
          type: string
          maxLength: 1024
        maxItems: 1000
    IndustryFilter:
      name: industry
      in: query
      description: Filter by one or more industry slugs.
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          maxLength: 1024
        maxItems: 1000
  examples:
    AddAPIResponse:
      summary: A successful add API response.
      value:
        response: The API has been added to the APIs.io index.
        url: https://github.com/apis-json/artisan

# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/apis-io/refs/heads/main/openapi/apis-io-search-api-openapi.yml