swagger: "2.0"
schemes:
  - https
host: api.redirection.io
basePath: /
info:
  contact:
    x-twitter: redirectionio
  description: API documentation for redirection.io
  title: redirection.io
  version: 1.1.0
  x-apisguru-categories:
    - hosting
  x-logo:
    url: https://twitter.com/redirectionio/profile_image?size=original
  x-origin:
    - format: swagger
      url: https://api.redirection.io/docs.json
      version: "2.0"
  x-providerName: redirection.io
securityDefinitions:
  apiKey:
    description: Value for the Authorization header
    in: header
    name: Authorization
    type: apiKey
security:
  - apiKey: []
paths:
  /agent-flush-aggregate-requests:
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postAgentFlushAggregateRequestCollection
      parameters:
        - description: The new AgentFlushAggregateRequest resource
          in: body
          name: agentFlushAggregateRequest
          schema:
            $ref: "#/definitions/AgentFlushAggregateRequest"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: AgentFlushAggregateRequest resource created
          schema:
            $ref: "#/definitions/AgentFlushAggregateRequest"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a AgentFlushAggregateRequest resource.
      tags:
        - AgentFlushAggregateRequest
  /agent-flush-requests:
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      parameters:
        - description: The new AgentFlushRequest resource
          in: body
          name: agentFlushRequest
          schema:
            $ref: "#/definitions/AgentFlushRequest"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: AgentFlushRequest resource created
          schema:
            $ref: "#/definitions/AgentFlushRequest"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a AgentFlushRequest resource.
      tags:
        - AgentFlushRequest
  /agent-instance-updates:
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postInstanceCollection
      parameters:
        - description: The new Instance resource
          in: body
          name: instance
          schema:
            $ref: "#/definitions/Instance-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: Instance resource created
          schema:
            $ref: "#/definitions/Instance-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a Instance resource.
      tags:
        - Instance
  "/agent-instance-updates/{id}":
    put:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: putInstanceItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
        - description: The updated Instance resource
          in: body
          name: instance
          schema:
            $ref: "#/definitions/Instance-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Instance resource updated
          schema:
            $ref: "#/definitions/Instance-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Replaces the Instance resource.
      tags:
        - Instance
  /agent-rule-complexes:
    get:
      operationId: agent-legacy-complexRuleCollection
      parameters:
        - in: query
          name: projectId
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Rule collection response
          schema:
            items:
              $ref: "#/definitions/Rule-Read"
            type: array
      summary: Retrieves the collection of Rule resources.
      tags:
        - Rule
  /agent-rule-straights:
    get:
      operationId: agent-legacy-straightRuleCollection
      parameters:
        - in: query
          name: projectId
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Rule collection response
          schema:
            items:
              $ref: "#/definitions/Rule-Read"
            type: array
      summary: Retrieves the collection of Rule resources.
      tags:
        - Rule
  /agent-rules:
    get:
      operationId: agentRuleCollection
      parameters:
        - in: query
          name: projectId
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Rule collection response
          schema:
            items:
              $ref: "#/definitions/Rule-Read"
            type: array
      summary: Retrieves the collection of Rule resources.
      tags:
        - Rule
  /aggregate-logs:
    get:
      operationId: getAggregateLogCollection
      parameters:
        - description: The collection page number
          in: query
          name: page
          required: false
          type: integer
        - in: query
          name: projectId
          required: false
          type: string
        - in: query
          name: createdAt
          required: false
          type: string
        - in: query
          name: source
          required: false
          type: string
        - in: query
          name: target
          required: false
          type: string
        - in: query
          name: statusCode
          required: false
          type: string
        - in: query
          name: referrer
          required: false
          type: string
        - in: query
          name: userAgent
          required: false
          type: string
        - in: query
          name: userAgentType
          required: false
          type: string
        - in: query
          name: simplifiedUserAgent
          required: false
          type: string
        - in: query
          name: ruleId
          required: false
          type: string
        - in: query
          name: instanceName
          required: false
          type: string
        - in: query
          name: excludeUrls
          required: false
          type: string
        - in: query
          name: excludeEmptyReferrer
          required: false
          type: string
        - in: query
          name: createdAt_gt
          required: false
          type: string
        - in: query
          name: createdAt_gte
          required: false
          type: string
        - in: query
          name: createdAt_lt
          required: false
          type: string
        - in: query
          name: createdAt_lte
          required: false
          type: string
        - in: query
          name: statusCode_gt
          required: false
          type: string
        - in: query
          name: statusCode_gte
          required: false
          type: string
        - in: query
          name: statusCode_lt
          required: false
          type: string
        - in: query
          name: statusCode_lte
          required: false
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: AggregateLog collection response
          schema:
            items:
              $ref: "#/definitions/AggregateLog-Read"
            type: array
      summary: Retrieves the collection of AggregateLog resources.
      tags:
        - AggregateLog
  "/aggregate-logs/{id}":
    get:
      operationId: getAggregateLogItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: AggregateLog resource response
          schema:
            $ref: "#/definitions/AggregateLog-Read"
        "404":
          description: Resource not found
      summary: Retrieves a AggregateLog resource.
      tags:
        - AggregateLog
  /crawl-urls:
    get:
      operationId: getCrawlUrlCollection
      parameters:
        - description: The collection page number
          in: query
          name: page
          required: false
          type: integer
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: CrawlUrl collection response
          schema:
            items:
              $ref: "#/definitions/CrawlUrl-Read"
            type: array
      summary: Retrieves the collection of CrawlUrl resources.
      tags:
        - CrawlUrl
  "/crawl-urls/{id}":
    get:
      operationId: getCrawlUrlItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: CrawlUrl resource response
          schema:
            $ref: "#/definitions/CrawlUrl-Read"
        "404":
          description: Resource not found
      summary: Retrieves a CrawlUrl resource.
      tags:
        - CrawlUrl
  /crawls:
    get:
      operationId: getCrawlCollection
      parameters:
        - in: query
          name: projectId
          required: true
          type: string
        - in: query
          name: firstUrl
          required: false
          type: string
        - in: query
          name: sort[createdAt]
          required: false
          type: string
        - description: The collection page number
          in: query
          name: page
          required: false
          type: integer
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Crawl collection response
          schema:
            items:
              $ref: "#/definitions/Crawl-Read"
            type: array
      summary: Retrieves the collection of Crawl resources.
      tags:
        - Crawl
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postCrawlCollection
      parameters:
        - description: The new Crawl resource
          in: body
          name: crawl
          schema:
            $ref: "#/definitions/Crawl-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: Crawl resource created
          schema:
            $ref: "#/definitions/Crawl"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a Crawl resource.
      tags:
        - Crawl
  "/crawls/{id}":
    get:
      operationId: getCrawlItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Crawl resource response
          schema:
            $ref: "#/definitions/Crawl-ReadDetails"
        "404":
          description: Resource not found
      summary: Retrieves a Crawl resource.
      tags:
        - Crawl
  "/crawls/{id}/cancel":
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: cancelCrawlItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
        - description: The new Crawl resource
          in: body
          name: crawl
          schema:
            $ref: "#/definitions/Crawl"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: Crawl resource created
          schema:
            $ref: "#/definitions/Crawl-ReadDetails"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a Crawl resource.
      tags:
        - Crawl
  /explain-urls:
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postExplainUrlCollection
      parameters:
        - description: The new ExplainUrl resource
          in: body
          name: explainUrl
          schema:
            $ref: "#/definitions/ExplainUrl-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: ExplainUrl resource created
          schema:
            $ref: "#/definitions/ExplainUrl"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a ExplainUrl resource.
      tags:
        - ExplainUrl
  "/explain-urls/{id}":
    get:
      operationId: getExplainUrlItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: ExplainUrl resource response
          schema:
            $ref: "#/definitions/ExplainUrl"
        "404":
          description: Resource not found
      summary: Retrieves a ExplainUrl resource.
      tags:
        - ExplainUrl
  /export-rules:
    get:
      operationId: exportRuleCollection
      parameters:
        - in: query
          name: projectId
          required: true
          type: string
        - in: query
          name: sort[id]
          required: false
          type: string
        - in: query
          name: sort[viewCount]
          required: false
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Rule collection response
          schema:
            items:
              $ref: "#/definitions/Rule-Read"
            type: array
      summary: Retrieves the collection of Rule resources.
      tags:
        - Rule
  /impact-rule-changes:
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postImpactRuleChangeCollection
      parameters:
        - description: The new ImpactRuleChange resource
          in: body
          name: impactRuleChange
          schema:
            $ref: "#/definitions/ImpactRuleChange-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: ImpactRuleChange resource created
          schema:
            $ref: "#/definitions/ImpactRuleChange-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a ImpactRuleChange resource.
      tags:
        - ImpactRuleChange
  "/impact-rule-changes/{id}":
    get:
      operationId: getImpactRuleChangeItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: ImpactRuleChange resource response
          schema:
            $ref: "#/definitions/ImpactRuleChange-Read"
        "404":
          description: Resource not found
      summary: Retrieves a ImpactRuleChange resource.
      tags:
        - ImpactRuleChange
  /impact-smart-lists:
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postImpactSmartListCollection
      parameters:
        - description: The new ImpactSmartList resource
          in: body
          name: impactSmartList
          schema:
            $ref: "#/definitions/ImpactSmartList-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: ImpactSmartList resource created
          schema:
            $ref: "#/definitions/ImpactSmartList-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a ImpactSmartList resource.
      tags:
        - ImpactSmartList
  "/impact-smart-lists/{id}":
    get:
      operationId: getImpactSmartListItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: ImpactSmartList resource response
          schema:
            $ref: "#/definitions/ImpactSmartList-Read"
        "404":
          description: Resource not found
      summary: Retrieves a ImpactSmartList resource.
      tags:
        - ImpactSmartList
  /imports:
    get:
      operationId: getImportCollection
      parameters:
        - in: query
          name: projectId
          required: true
          type: string
        - description: The collection page number
          in: query
          name: page
          required: false
          type: integer
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Import collection response
          schema:
            items:
              $ref: "#/definitions/Import-Read"
            type: array
      summary: Retrieves the collection of Import resources.
      tags:
        - Import
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postImportCollection
      parameters:
        - description: The new Import resource
          in: body
          name: import
          schema:
            $ref: "#/definitions/Import-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: Import resource created
          schema:
            $ref: "#/definitions/Import-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a Import resource.
      tags:
        - Import
  "/imports/{id}":
    get:
      operationId: getImportItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Import resource response
          schema:
            $ref: "#/definitions/Import-Read"
        "404":
          description: Resource not found
      summary: Retrieves a Import resource.
      tags:
        - Import
  /instances:
    get:
      operationId: getInstanceCollection
      parameters:
        - in: query
          name: projectId
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Instance collection response
          schema:
            items:
              $ref: "#/definitions/Instance-Read"
            type: array
      summary: Retrieves the collection of Instance resources.
      tags:
        - Instance
  "/instances/{id}":
    get:
      operationId: getInstanceItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Instance resource response
          schema:
            $ref: "#/definitions/Instance-Read"
        "404":
          description: Resource not found
      summary: Retrieves a Instance resource.
      tags:
        - Instance
    put:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: loggingInstanceItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
        - description: The updated Instance resource
          in: body
          name: instance
          schema:
            $ref: "#/definitions/Instance-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Instance resource updated
          schema:
            $ref: "#/definitions/Instance-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Replaces the Instance resource.
      tags:
        - Instance
  "/instances/{id}/live":
    put:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: liveInstanceItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
        - description: The updated Instance resource
          in: body
          name: instance
          schema:
            $ref: "#/definitions/Instance-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Instance resource updated
          schema:
            $ref: "#/definitions/Instance-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Replaces the Instance resource.
      tags:
        - Instance
  /invitations:
    get:
      operationId: getInvitationCollection
      parameters:
        - in: query
          name: targetId
          required: true
          type: string
        - in: query
          name: targetType
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Invitation collection response
          schema:
            items:
              $ref: "#/definitions/Invitation-Read"
            type: array
      summary: Retrieves the collection of Invitation resources.
      tags:
        - Invitation
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postInvitationCollection
      parameters:
        - description: The new Invitation resource
          in: body
          name: invitation
          schema:
            $ref: "#/definitions/Invitation-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: Invitation resource created
          schema:
            $ref: "#/definitions/Invitation-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a Invitation resource.
      tags:
        - Invitation
  "/invitations/accept/{token}":
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: acceptInvitationItem
      parameters:
        - description: The invitation acceptation token
          in: path
          name: token
          required: true
          type: string
        - description: The new Invitation resource
          in: body
          name: invitation
          required: true
          schema:
            $ref: "#/definitions/Invitation"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: Invitation resource created
          schema:
            $ref: "#/definitions/Invitation-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a Invitation resource.
      tags:
        - Invitation
  "/invitations/{id}":
    delete:
      operationId: deleteInvitationItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      responses:
        "204":
          description: Invitation resource deleted
        "404":
          description: Resource not found
      summary: Removes the Invitation resource.
      tags:
        - Invitation
    get:
      operationId: getInvitationItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Invitation resource response
          schema:
            $ref: "#/definitions/Invitation-Read"
        "404":
          description: Resource not found
      summary: Retrieves a Invitation resource.
      tags:
        - Invitation
  /logs:
    get:
      operationId: getLogCollection
      parameters:
        - description: The collection page number
          in: query
          name: page
          required: false
          type: integer
        - in: query
          name: projectId
          required: false
          type: string
        - in: query
          name: createdAt
          required: false
          type: string
        - in: query
          name: source
          required: false
          type: string
        - in: query
          name: target
          required: false
          type: string
        - in: query
          name: statusCode
          required: false
          type: string
        - in: query
          name: referrer
          required: false
          type: string
        - in: query
          name: userAgent
          required: false
          type: string
        - in: query
          name: userAgentType
          required: false
          type: string
        - in: query
          name: simplifiedUserAgent
          required: false
          type: string
        - in: query
          name: ruleId
          required: false
          type: string
        - in: query
          name: instanceName
          required: false
          type: string
        - in: query
          name: excludeUrls
          required: false
          type: string
        - in: query
          name: excludeEmptyReferrer
          required: false
          type: string
        - in: query
          name: createdAt_gt
          required: false
          type: string
        - in: query
          name: createdAt_gte
          required: false
          type: string
        - in: query
          name: createdAt_lt
          required: false
          type: string
        - in: query
          name: createdAt_lte
          required: false
          type: string
        - in: query
          name: statusCode_gt
          required: false
          type: string
        - in: query
          name: statusCode_gte
          required: false
          type: string
        - in: query
          name: statusCode_lt
          required: false
          type: string
        - in: query
          name: statusCode_lte
          required: false
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Log collection response
          schema:
            items:
              $ref: "#/definitions/Log-Read"
            type: array
      summary: Retrieves the collection of Log resources.
      tags:
        - Log
  "/logs/{id}":
    get:
      operationId: getLogItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Log resource response
          schema:
            $ref: "#/definitions/Log-Read"
        "404":
          description: Resource not found
      summary: Retrieves a Log resource.
      tags:
        - Log
  /markers:
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postMarkerCollection
      parameters:
        - description: The new Marker resource
          in: body
          name: marker
          schema:
            $ref: "#/definitions/Marker-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: Marker resource created
          schema:
            $ref: "#/definitions/Marker"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a Marker resource.
      tags:
        - Marker
  "/markers/{id}":
    delete:
      operationId: deleteMarkerItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      responses:
        "204":
          description: Marker resource deleted
        "404":
          description: Resource not found
      summary: Removes the Marker resource.
      tags:
        - Marker
    get:
      operationId: getMarkerItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Marker resource response
          schema:
            $ref: "#/definitions/Marker"
        "404":
          description: Resource not found
      summary: Retrieves a Marker resource.
      tags:
        - Marker
    put:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: putMarkerItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
        - description: The updated Marker resource
          in: body
          name: marker
          schema:
            $ref: "#/definitions/Marker"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Marker resource updated
          schema:
            $ref: "#/definitions/Marker"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Replaces the Marker resource.
      tags:
        - Marker
  /matching-urls:
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postMatchingUrlCollection
      parameters:
        - description: The new MatchingUrl resource
          in: body
          name: matchingUrl
          schema:
            $ref: "#/definitions/MatchingUrl-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: MatchingUrl resource created
          schema:
            $ref: "#/definitions/MatchingUrl-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a MatchingUrl resource.
      tags:
        - MatchingUrl
  "/matching-urls/{id}":
    get:
      operationId: getMatchingUrlItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: MatchingUrl resource response
          schema:
            $ref: "#/definitions/MatchingUrl-Read"
        "404":
          description: Resource not found
      summary: Retrieves a MatchingUrl resource.
      tags:
        - MatchingUrl
  /notifications:
    get:
      operationId: getNotificationCollection
      parameters:
        - description: The collection page number
          in: query
          name: page
          required: false
          type: integer
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Notification collection response
          schema:
            items:
              $ref: "#/definitions/Notification-Read"
            type: array
      summary: Retrieves the collection of Notification resources.
      tags:
        - Notification
  "/notifications/{id}":
    get:
      operationId: getNotificationItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Notification resource response
          schema:
            $ref: "#/definitions/Notification-Read"
        "404":
          description: Resource not found
      summary: Retrieves a Notification resource.
      tags:
        - Notification
  /organizations:
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postOrganizationCollection
      parameters:
        - description: The new Organization resource
          in: body
          name: organization
          schema:
            $ref: "#/definitions/Organization-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: Organization resource created
          schema:
            $ref: "#/definitions/Organization-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a Organization resource.
      tags:
        - Organization
  "/organizations/{id}":
    delete:
      operationId: deleteOrganizationItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      responses:
        "204":
          description: Organization resource deleted
        "404":
          description: Resource not found
      summary: Removes the Organization resource.
      tags:
        - Organization
    get:
      operationId: getOrganizationItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Organization resource response
          schema:
            $ref: "#/definitions/Organization-Read"
        "404":
          description: Resource not found
      summary: Retrieves a Organization resource.
      tags:
        - Organization
    put:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: putOrganizationItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
        - description: The updated Organization resource
          in: body
          name: organization
          schema:
            $ref: "#/definitions/Organization-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Organization resource updated
          schema:
            $ref: "#/definitions/Organization-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Replaces the Organization resource.
      tags:
        - Organization
  /post-logs:
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      parameters:
        - description: The new AgentFlushRequest resource
          in: body
          name: agentFlushRequest
          schema:
            $ref: "#/definitions/AgentFlushRequest"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: AgentFlushRequest resource created
          schema:
            $ref: "#/definitions/AgentFlushRequest"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a AgentFlushRequest resource.
      tags:
        - AgentFlushRequest
  /projects:
    get:
      operationId: getProjectCollection
      parameters: []
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Project collection response
          schema:
            items:
              $ref: "#/definitions/Project-List"
            type: array
      summary: Retrieves the collection of Project resources.
      tags:
        - Project
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postProjectCollection
      parameters:
        - description: The new Project resource
          in: body
          name: project
          schema:
            $ref: "#/definitions/Project-CreationWrite"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: Project resource created
          schema:
            $ref: "#/definitions/Project-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a Project resource.
      tags:
        - Project
  "/projects/{id}":
    delete:
      operationId: deleteProjectItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      responses:
        "204":
          description: Project resource deleted
        "404":
          description: Resource not found
      summary: Removes the Project resource.
      tags:
        - Project
    get:
      operationId: getProjectItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Project resource response
          schema:
            $ref: "#/definitions/Project-Read"
        "404":
          description: Resource not found
      summary: Retrieves a Project resource.
      tags:
        - Project
    put:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: putProjectItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
        - description: The updated Project resource
          in: body
          name: project
          schema:
            $ref: "#/definitions/Project-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Project resource updated
          schema:
            $ref: "#/definitions/Project-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Replaces the Project resource.
      tags:
        - Project
  /publish-histories:
    get:
      operationId: getPublishHistoryCollection
      parameters:
        - in: query
          name: projectId
          required: true
          type: string
        - in: query
          name: createdAt[before]
          required: false
          type: string
        - in: query
          name: createdAt[strictly_before]
          required: false
          type: string
        - in: query
          name: createdAt[after]
          required: false
          type: string
        - in: query
          name: createdAt[strictly_after]
          required: false
          type: string
        - description: The collection page number
          in: query
          name: page
          required: false
          type: integer
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: PublishHistory collection response
          schema:
            items:
              $ref: "#/definitions/PublishHistory-Read"
            type: array
      summary: Retrieves the collection of PublishHistory resources.
      tags:
        - PublishHistory
  "/publish-histories/{id}":
    get:
      operationId: getPublishHistoryItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: PublishHistory resource response
          schema:
            $ref: "#/definitions/PublishHistory-Read"
        "404":
          description: Resource not found
      summary: Retrieves a PublishHistory resource.
      tags:
        - PublishHistory
  /rule-changes:
    get:
      operationId: getRuleChangeCollection
      parameters:
        - in: query
          name: versionId
          required: true
          type: string
        - description: The collection page number
          in: query
          name: page
          required: false
          type: integer
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: RuleChange collection response
          schema:
            items:
              $ref: "#/definitions/RuleChange-Read"
            type: array
      summary: Retrieves the collection of RuleChange resources.
      tags:
        - RuleChange
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postRuleChangeCollection
      parameters:
        - description: The new RuleChange resource
          in: body
          name: ruleChange
          schema:
            $ref: "#/definitions/RuleChange-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: RuleChange resource created
          schema:
            $ref: "#/definitions/RuleChange-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a RuleChange resource.
      tags:
        - RuleChange
  "/rule-changes/{id}":
    delete:
      operationId: deleteRuleChangeItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      responses:
        "204":
          description: RuleChange resource deleted
        "404":
          description: Resource not found
      summary: Removes the RuleChange resource.
      tags:
        - RuleChange
    get:
      operationId: getRuleChangeItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: RuleChange resource response
          schema:
            $ref: "#/definitions/RuleChange-Read"
        "404":
          description: Resource not found
      summary: Retrieves a RuleChange resource.
      tags:
        - RuleChange
  /rule-set-versions:
    get:
      operationId: getRuleSetVersionCollection
      parameters:
        - in: query
          name: projectId
          required: true
          type: string
        - in: query
          name: sort[createdAt]
          required: false
          type: string
        - description: The collection page number
          in: query
          name: page
          required: false
          type: integer
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: RuleSetVersion collection response
          schema:
            items:
              $ref: "#/definitions/RuleSetVersion-Read"
            type: array
      summary: Retrieves the collection of RuleSetVersion resources.
      tags:
        - RuleSetVersion
  "/rule-set-versions/{id}":
    get:
      operationId: getRuleSetVersionItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: RuleSetVersion resource response
          schema:
            $ref: "#/definitions/RuleSetVersion-Read"
        "404":
          description: Resource not found
      summary: Retrieves a RuleSetVersion resource.
      tags:
        - RuleSetVersion
  "/rule-set-versions/{id}/clear":
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: clearRuleSetVersionItem
      parameters:
        - description: The id of the version
          in: path
          name: id
          required: true
          type: string
        - description: The new RuleSetVersion resource
          in: body
          name: ruleSetVersion
          required: true
          schema:
            $ref: "#/definitions/RuleSetVersion"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: RuleSetVersion resource created
          schema:
            $ref: "#/definitions/RuleSetVersion-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Clear a version
      tags:
        - RuleSetVersion
  "/rule-set-versions/{id}/publish":
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: publishRuleSetVersionItem
      parameters:
        - description: The id of the version
          in: path
          name: id
          required: true
          type: string
        - description: The new RuleSetVersion resource
          in: body
          name: ruleSetVersion
          required: true
          schema:
            $ref: "#/definitions/RuleSetVersion"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: RuleSetVersion resource created
          schema:
            $ref: "#/definitions/RuleSetVersion-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Publish a version
      tags:
        - RuleSetVersion
  /rule-statistics:
    get:
      operationId: getRuleStatisticCollection
      parameters:
        - in: query
          name: projectId
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: RuleStatistic collection response
          schema:
            items:
              $ref: "#/definitions/RuleStatistic"
            type: array
      summary: Retrieves the collection of RuleStatistic resources.
      tags:
        - RuleStatistic
  "/rule-statistics/{id}":
    get:
      operationId: getRuleStatisticItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: RuleStatistic resource response
          schema:
            $ref: "#/definitions/RuleStatistic"
        "404":
          description: Resource not found
      summary: Retrieves a RuleStatistic resource.
      tags:
        - RuleStatistic
  /rules:
    get:
      operationId: getRuleCollection
      parameters:
        - in: query
          name: projectId
          required: true
          type: string
        - in: query
          name: sort[id]
          required: false
          type: string
        - in: query
          name: sort[viewCount]
          required: false
          type: string
        - description: The collection page number
          in: query
          name: page
          required: false
          type: integer
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Rule collection response
          schema:
            items:
              $ref: "#/definitions/Rule-Read"
            type: array
      summary: Retrieves the collection of Rule resources.
      tags:
        - Rule
  "/rules/{id}":
    get:
      operationId: getRuleItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: Rule resource response
          schema:
            $ref: "#/definitions/Rule-Read"
        "404":
          description: Resource not found
      summary: Retrieves a Rule resource.
      tags:
        - Rule
  /smart-lists:
    get:
      operationId: getSmartListCollection
      parameters: []
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: SmartList collection response
          schema:
            items:
              $ref: "#/definitions/SmartList"
            type: array
      summary: Retrieves the collection of SmartList resources.
      tags:
        - SmartList
  "/smart-lists/{id}":
    get:
      operationId: getSmartListItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: SmartList resource response
          schema:
            $ref: "#/definitions/SmartList"
        "404":
          description: Resource not found
      summary: Retrieves a SmartList resource.
      tags:
        - SmartList
  /user-organizations:
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postUserOrganizationCollection
      parameters:
        - description: The new UserOrganization resource
          in: body
          name: userOrganization
          schema:
            $ref: "#/definitions/UserOrganization-CreationWrite"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: UserOrganization resource created
          schema:
            $ref: "#/definitions/UserOrganization-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a UserOrganization resource.
      tags:
        - UserOrganization
  "/user-organizations/{id}":
    delete:
      operationId: deleteUserOrganizationItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      responses:
        "204":
          description: UserOrganization resource deleted
        "404":
          description: Resource not found
      summary: Removes the UserOrganization resource.
      tags:
        - UserOrganization
    get:
      operationId: getUserOrganizationItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: UserOrganization resource response
          schema:
            $ref: "#/definitions/UserOrganization-Read"
        "404":
          description: Resource not found
      summary: Retrieves a UserOrganization resource.
      tags:
        - UserOrganization
    put:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: putUserOrganizationItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
        - description: The updated UserOrganization resource
          in: body
          name: userOrganization
          schema:
            $ref: "#/definitions/UserOrganization-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: UserOrganization resource updated
          schema:
            $ref: "#/definitions/UserOrganization-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Replaces the UserOrganization resource.
      tags:
        - UserOrganization
  "/user-project-flatteneds/{id}":
    get:
      operationId: getUserProjectFlattenedItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: UserProjectFlattened resource response
          schema:
            $ref: "#/definitions/UserProjectFlattened-Read"
        "404":
          description: Resource not found
      summary: Retrieves a UserProjectFlattened resource.
      tags:
        - UserProjectFlattened
  /user-projects:
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postUserProjectCollection
      parameters:
        - description: The new UserProject resource
          in: body
          name: userProject
          schema:
            $ref: "#/definitions/UserProject-CreationWrite"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: UserProject resource created
          schema:
            $ref: "#/definitions/UserProject-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a UserProject resource.
      tags:
        - UserProject
  "/user-projects/{id}":
    delete:
      operationId: deleteUserProjectItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      responses:
        "204":
          description: UserProject resource deleted
        "404":
          description: Resource not found
      summary: Removes the UserProject resource.
      tags:
        - UserProject
    get:
      operationId: getUserProjectItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: UserProject resource response
          schema:
            $ref: "#/definitions/UserProject-Read"
        "404":
          description: Resource not found
      summary: Retrieves a UserProject resource.
      tags:
        - UserProject
    put:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: putUserProjectItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
        - description: The updated UserProject resource
          in: body
          name: userProject
          schema:
            $ref: "#/definitions/UserProject-Write"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: UserProject resource updated
          schema:
            $ref: "#/definitions/UserProject-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Replaces the UserProject resource.
      tags:
        - UserProject
  /users:
    get:
      operationId: getUserCollection
      parameters:
        - in: query
          name: organizationId
          required: true
          type: string
        - in: query
          name: search
          required: false
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: User collection response
          schema:
            items:
              $ref: "#/definitions/User-List"
            type: array
      summary: Retrieves the collection of User resources.
      tags:
        - User
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postUserCollection
      parameters:
        - description: The new User resource
          in: body
          name: user
          schema:
            $ref: "#/definitions/User-CreationWrite"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: User resource created
          schema:
            $ref: "#/definitions/User-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a User resource.
      tags:
        - User
  /users/forgot-password-request:
    post:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: postForgotPasswordRequestCollection
      parameters:
        - description: The new ForgotPasswordRequest resource
          in: body
          name: forgotPasswordRequest
          schema:
            $ref: "#/definitions/ForgotPasswordRequest"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "201":
          description: ForgotPasswordRequest resource created
          schema:
            $ref: "#/definitions/ForgotPasswordRequest"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Creates a ForgotPasswordRequest resource.
      tags:
        - ForgotPasswordRequest
  "/users/forgot-password/{resetToken}":
    put:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: forgot_passwordUserItem
      parameters:
        - in: path
          name: resetToken
          required: true
          type: string
        - description: The updated User resource
          in: body
          name: user
          schema:
            $ref: "#/definitions/User-Password"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: User resource updated
          schema:
            $ref: "#/definitions/User-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Replaces the User resource.
      tags:
        - User
  "/users/{id}":
    delete:
      operationId: deleteUserItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      responses:
        "204":
          description: User resource deleted
        "404":
          description: Resource not found
      summary: Removes the User resource.
      tags:
        - User
    get:
      operationId: getUserItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: User resource response
          schema:
            $ref: "#/definitions/User-Read"
        "404":
          description: Resource not found
      summary: Retrieves a User resource.
      tags:
        - User
  "/users/{id}/confirm-new-email/{newEmailToken}":
    get:
      operationId: confirm_new_emailUserItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
        - in: path
          name: newEmailToken
          required: true
          type: string
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: User resource response
          schema:
            $ref: "#/definitions/User-Read"
        "404":
          description: Resource not found
      summary: Retrieves a User resource.
      tags:
        - User
  "/users/{id}/edit-email":
    put:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: edit_emailUserItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
        - description: The updated User resource
          in: body
          name: user
          schema:
            $ref: "#/definitions/User-EditInfo"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: User resource updated
          schema:
            $ref: "#/definitions/User-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Replaces the User resource.
      tags:
        - User
  "/users/{id}/edit-info":
    put:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: edit_infoUserItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
        - description: The updated User resource
          in: body
          name: user
          schema:
            $ref: "#/definitions/User-EditInfo"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: User resource updated
          schema:
            $ref: "#/definitions/User-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Replaces the User resource.
      tags:
        - User
  "/users/{id}/edit-password":
    put:
      consumes:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      operationId: edit_passwordUserItem
      parameters:
        - in: path
          name: id
          required: true
          type: string
        - description: The updated User resource
          in: body
          name: user
          schema:
            $ref: "#/definitions/User-EditInfo"
      produces:
        - application/ld+json
        - application/json
        - text/html
        - text/csv
      responses:
        "200":
          description: User resource updated
          schema:
            $ref: "#/definitions/User-Read"
        "400":
          description: Invalid input
        "404":
          description: Resource not found
      summary: Replaces the User resource.
      tags:
        - User
definitions:
  AgentFlushAggregateRequest:
    description: ""
    properties:
      instanceName: {}
      instanceTime: {}
      logs: {}
    required:
      - logs
      - instanceName
      - instanceTime
    type: object
  AgentFlushRequest:
    description: ""
    properties:
      instanceName: {}
      instanceTime:
        type: integer
      logs:
        items:
          type: string
        type: array
    required:
      - logs
      - instanceName
      - instanceTime
    type: object
  AggregateLog-Read:
    description: ""
    properties:
      fixed:
        type: boolean
      id: {}
      lastOccurrenceAt:
        format: date-time
        type: string
      ruleId:
        type: string
      source: {}
      statusCode:
        type: integer
      target: {}
      viewCount:
        type: integer
    type: object
  Crawl:
    description: ""
    properties:
      archived:
        readOnly: true
        type: boolean
      author:
        $ref: "#/definitions/User"
      createdAt:
        format: date-time
        readOnly: true
        type: string
      currentConcurrency:
        type: integer
      error:
        readOnly: true
        type: string
      finishedAt:
        format: date-time
        readOnly: true
        type: string
      firstUrl:
        readOnly: true
        type: string
      id:
        readOnly: true
        type: string
      marking:
        items:
          type: string
        type: array
      stats:
        items:
          type: string
        type: array
      trigger:
        readOnly: true
        type: string
      updatedAt:
        format: date-time
        readOnly: true
        type: string
    type: object
  Crawl-Read:
    description: ""
    properties:
      archived:
        readOnly: true
        type: boolean
      author:
        $ref: "#/definitions/User-Read"
      createdAt:
        format: date-time
        readOnly: true
        type: string
      error:
        readOnly: true
        type: string
      finishedAt:
        format: date-time
        readOnly: true
        type: string
      firstUrl:
        readOnly: true
        type: string
      id:
        readOnly: true
        type: string
      stats:
        items:
          type: string
        type: array
      trigger:
        readOnly: true
        type: string
      updatedAt:
        format: date-time
        readOnly: true
        type: string
    type: object
  Crawl-ReadDetails:
    description: ""
    properties:
      archived:
        readOnly: true
        type: boolean
      author:
        $ref: "#/definitions/User-ReadDetails"
      createdAt:
        format: date-time
        readOnly: true
        type: string
      error:
        readOnly: true
        type: string
      finishedAt:
        format: date-time
        readOnly: true
        type: string
      firstUrl:
        readOnly: true
        type: string
      id:
        readOnly: true
        type: string
      stats:
        items:
          type: string
        type: array
      trigger:
        readOnly: true
        type: string
      updatedAt:
        format: date-time
        readOnly: true
        type: string
    type: object
  Crawl-Write:
    description: ""
    properties:
      concurrency:
        type: integer
      firstUrl: {}
      headers:
        items:
          type: string
        type: array
      httpBasicPassword: {}
      httpBasicUser: {}
      maxDepth:
        type: integer
      maxDuration:
        type: integer
      maxUrls:
        type: integer
      otherDomains:
        items:
          type: string
        type: array
      project:
        type: string
      sslCheckingDisabled:
        type: boolean
      subdomainIncluded:
        type: boolean
      userAgent: {}
    required:
      - project
      - firstUrl
      - concurrency
      - maxUrls
      - maxDepth
      - subdomainIncluded
      - sslCheckingDisabled
      - maxDuration
    type: object
  CrawlUrl-Read:
    description: ""
    properties:
      curlInfo: {}
      depth: {}
      description: {}
      error: {}
      id: {}
      redirectUrl: {}
      statusCode: {}
      title: {}
      url: {}
      urlsTo:
        type: string
    type: object
  ExplainUrl:
    description: ""
    properties:
      explain:
        readOnly: true
      id:
        readOnly: true
        type: string
      project:
        type: string
      url:
        type: string
    required:
      - url
      - project
    type: object
  ExplainUrl-Write:
    description: ""
    properties:
      project:
        type: string
      url:
        type: string
    required:
      - url
      - project
    type: object
  ForgotPasswordRequest:
    description: ""
    properties:
      email:
        type: string
    required:
      - email
    type: object
  ImpactRuleChange-Read:
    description: ""
    properties:
      impact:
        readOnly: true
    type: object
  ImpactRuleChange-Write:
    description: ""
    properties:
      project:
        type: string
      ruleChange:
        type: string
    required:
      - project
      - ruleChange
    type: object
  ImpactSmartList-Read:
    description: ""
    properties:
      impact:
        readOnly: true
      smartList:
        readOnly: true
    type: object
  ImpactSmartList-Write:
    description: ""
    properties:
      project:
        type: string
      smartListId:
        type: string
      smartListVersion:
        type: string
    required:
      - project
      - smartListId
    type: object
  Import-Read:
    description: ""
    properties:
      author:
        readOnly: true
        type: string
      completedAt:
        format: date-time
        readOnly: true
        type: string
      errorCount:
        readOnly: true
        type: integer
      id:
        readOnly: true
        type: string
      importDuration:
        readOnly: true
        type: integer
      message:
        readOnly: true
        type: string
      project:
        type: string
      startedAt:
        format: date-time
        readOnly: true
        type: string
      statusAsText:
        readOnly: true
      successCount:
        readOnly: true
        type: integer
      updatedAt:
        format: date-time
        readOnly: true
        type: string
    required:
      - project
    type: object
  Import-Write:
    description: ""
    properties:
      csvContent: {}
      project:
        type: string
    required:
      - project
      - csvContent
    type: object
  Instance-Read:
    description: ""
    properties:
      agentDuration:
        type: integer
      agentVersion:
        type: string
      agentVersionStatus:
        readOnly: true
        type: string
      config:
        type: string
      createdAt:
        format: date-time
        type: string
      gone:
        readOnly: true
        type: boolean
      id:
        readOnly: true
        type: string
      lastCompletedAt:
        format: date-time
        type: string
      lastStartedAt:
        format: date-time
        type: string
      live:
        type: boolean
      logging:
        type: boolean
      logsLastFlushedAt:
        format: date-time
        type: string
      message:
        type: string
      misconfigured:
        type: boolean
      name:
        type: string
      rulesCount:
        type: integer
      rulesHash:
        type: string
      stale:
        readOnly: true
        type: boolean
      status:
        type: integer
      updatedAt:
        format: date-time
        type: string
    required:
      - name
    type: object
  Instance-Write:
    description: ""
    properties:
      agentDuration:
        type: integer
      message:
        type: string
      rulesCount:
        type: integer
      rulesHash:
        type: string
    type: object
  Invitation:
    description: ""
    properties:
      createdAt:
        format: date-time
        readOnly: true
        type: string
      email:
        type: string
      id:
        readOnly: true
        type: string
    type: object
  Invitation-Read:
    description: ""
    properties:
      createdAt:
        format: date-time
        readOnly: true
        type: string
      email:
        type: string
      id:
        readOnly: true
        type: string
    type: object
  Invitation-Write:
    description: ""
    properties:
      email:
        type: string
      target:
        type: string
    required:
      - email
      - target
    type: object
  Log-Read:
    description: ""
    properties:
      createdAt:
        format: date-time
        type: string
      fixed:
        type: boolean
      fixedByVersions:
        items:
          type: string
        type: array
      fromSmartList:
        readOnly: true
        type: boolean
      id: {}
      instanceName: {}
      method: {}
      notFixedByVersions:
        items:
          type: string
        type: array
      proxy:
        type: string
      referrer: {}
      ruleId:
        type: string
      simplifiedUserAgent: {}
      smartList:
        readOnly: true
        type: string
      source: {}
      statusCode: {}
      target: {}
      userAgent: {}
      userAgentType: {}
    type: object
  Marker:
    description: ""
    properties:
      id:
        type: string
      maximumOccurrence:
        type: integer
      minimumOccurrence:
        type: integer
      name:
        type: string
      options:
        items:
          type: string
        type: array
      regex:
        type: string
      transformers:
        items:
          type: string
        type: array
      type:
        type: string
    required:
      - type
      - name
    type: object
  Marker-Read:
    description: ""
    properties:
      maximumOccurrence:
        type: integer
      minimumOccurrence:
        type: integer
      name:
        type: string
      options:
        items:
          type: string
        type: array
      transformers:
        items:
          type: string
        type: array
      type:
        type: string
    required:
      - type
      - name
    type: object
  Marker-Write:
    description: ""
    properties:
      maximumOccurrence:
        type: integer
      minimumOccurrence:
        type: integer
      name:
        type: string
      options:
        items:
          type: string
        type: array
      transformers:
        items:
          type: string
        type: array
      type:
        type: string
    required:
      - type
      - name
    type: object
  MatchingUrl-Read:
    description: ""
    properties:
      matching:
        readOnly: true
    type: object
  MatchingUrl-Write:
    description: ""
    properties:
      project:
        type: string
      ruleChange:
        type: string
    type: object
  Notification-Read:
    description: ""
    properties:
      createdAt:
        format: date-time
        readOnly: true
        type: string
      id:
        readOnly: true
        type: string
      message:
        type: string
      updatedAt:
        format: date-time
        readOnly: true
        type: string
    type: object
  Organization:
    description: ""
    properties:
      createdAt:
        format: date-time
        readOnly: true
        type: string
      id:
        readOnly: true
        type: string
      name:
        type: string
      projects:
        items:
          $ref: "#/definitions/Project"
        readOnly: true
        type: array
      slug:
        readOnly: true
        type: string
      updatedAt:
        format: date-time
        readOnly: true
        type: string
      userOrganizations:
        items:
          $ref: "#/definitions/UserOrganization"
        readOnly: true
        type: array
    required:
      - name
    type: object
  Organization-CreationWrite:
    description: ""
    type: object
  Organization-List:
    description: ""
    properties:
      name:
        type: string
      slug:
        readOnly: true
        type: string
    required:
      - name
    type: object
  Organization-Read:
    description: ""
    properties:
      id:
        readOnly: true
        type: string
      name:
        type: string
      slug:
        readOnly: true
        type: string
    required:
      - name
    type: object
  Organization-Write:
    description: ""
    properties:
      name:
        type: string
    required:
      - name
    type: object
  Project:
    description: ""
    properties:
      complexRulesCount:
        readOnly: true
        type: integer
      complexRulesUpdatedAt:
        format: date-time
        readOnly: true
        type: string
      configuration:
        items:
          type: string
        readOnly: true
        type: array
      createdAt:
        format: date-time
        readOnly: true
        type: string
      currentVersion:
        $ref: "#/definitions/RuleSetVersion"
        readOnly: true
      id:
        readOnly: true
        type: string
      ignoreProjectTypes:
        items:
          type: string
        type: array
      isPublishing:
        readOnly: true
        type: boolean
      name:
        type: string
      onboardingCompletedDemos:
        items:
          type: string
        type: array
      organization:
        $ref: "#/definitions/Organization"
        readOnly: true
      plan:
        readOnly: true
        type: integer
      rulesHash:
        readOnly: true
        type: string
      slug:
        readOnly: true
        type: string
      straightRulesCount:
        readOnly: true
        type: integer
      straightRulesUpdatedAt:
        format: date-time
        readOnly: true
        type: string
      token:
        readOnly: true
        type: string
      updatedAt:
        format: date-time
        readOnly: true
        type: string
      userProjects:
        items:
          $ref: "#/definitions/UserProject"
        readOnly: true
        type: array
      usersFlattened:
        items:
          $ref: "#/definitions/UserProjectFlattened"
        readOnly: true
        type: array
      workingVersion:
        $ref: "#/definitions/RuleSetVersion"
        readOnly: true
    required:
      - name
    type: object
  Project-CreationWrite:
    description: ""
    properties:
      ignoreProjectTypes:
        items:
          type: string
        type: array
      name:
        type: string
      onboardingCompletedDemos:
        items:
          type: string
        type: array
      organization:
        $ref: "#/definitions/Organization-CreationWrite"
        readOnly: true
    required:
      - name
    type: object
  Project-List:
    description: ""
    properties:
      id:
        readOnly: true
        type: string
      name:
        type: string
      organization:
        $ref: "#/definitions/Organization-List"
        readOnly: true
      slug:
        readOnly: true
        type: string
      token:
        readOnly: true
        type: string
    required:
      - name
    type: object
  Project-Read:
    description: ""
    properties:
      complexRulesCount:
        readOnly: true
        type: integer
      complexRulesUpdatedAt:
        format: date-time
        readOnly: true
        type: string
      configuration:
        items:
          type: string
        readOnly: true
        type: array
      createdAt:
        format: date-time
        readOnly: true
        type: string
      currentVersion:
        $ref: "#/definitions/RuleSetVersion-Read"
        readOnly: true
      id:
        readOnly: true
        type: string
      ignoreProjectTypes:
        items:
          type: string
        type: array
      isPublishing:
        readOnly: true
        type: boolean
      name:
        type: string
      onboardingCompletedDemos:
        items:
          type: string
        type: array
      organization:
        $ref: "#/definitions/Organization-Read"
        readOnly: true
      plan:
        readOnly: true
        type: integer
      rulesHash:
        readOnly: true
        type: string
      slug:
        readOnly: true
        type: string
      straightRulesCount:
        readOnly: true
        type: integer
      straightRulesUpdatedAt:
        format: date-time
        readOnly: true
        type: string
      token:
        readOnly: true
        type: string
      updatedAt:
        format: date-time
        readOnly: true
        type: string
      userProjects:
        items:
          $ref: "#/definitions/UserProject-Read"
        readOnly: true
        type: array
      usersFlattened:
        items:
          $ref: "#/definitions/UserProjectFlattened-Read"
        readOnly: true
        type: array
      workingVersion:
        $ref: "#/definitions/RuleSetVersion-Read"
        readOnly: true
    required:
      - name
    type: object
  Project-Write:
    description: ""
    properties:
      ignoreProjectTypes:
        items:
          type: string
        type: array
      name:
        type: string
      onboardingCompletedDemos:
        items:
          type: string
        type: array
    required:
      - name
    type: object
  PublishHistory-Read:
    description: ""
    properties:
      added:
        type: integer
      author:
        $ref: "#/definitions/User-Read"
      createdAt:
        format: date-time
        readOnly: true
        type: string
      deleted:
        type: integer
      id:
        readOnly: true
        type: string
      summary:
        type: string
      type:
        type: string
      updated:
        type: integer
      version:
        $ref: "#/definitions/RuleSetVersion-Read"
    type: object
  Rule-Read:
    description: ""
    properties:
      actions:
        items:
          type: string
        type: array
      changes:
        items:
          $ref: "#/definitions/RuleChange-Read"
        type: array
      currentChange:
        $ref: "#/definitions/RuleChange-Read"
      examples:
        items:
          type: string
        type: array
      formattedSource:
        type: string
      id:
        type: string
      markers:
        items:
          $ref: "#/definitions/Marker-Read"
        type: array
      matchOnResponseStatus:
        type: integer
      rank:
        type: integer
      source:
        type: string
      updatedAt:
        format: date-time
        type: string
      viewCount:
        type: integer
    type: object
  RuleChange-Read:
    description: ""
    properties:
      action:
        type: string
      actions:
        items:
          type: string
        type: array
      author:
        $ref: "#/definitions/User-Read"
        readOnly: true
      createdAt:
        format: date-time
        readOnly: true
        type: string
      examples:
        items:
          type: string
        type: array
      formattedSource:
        type: string
      id:
        readOnly: true
        type: string
      markers:
        items:
          $ref: "#/definitions/Marker-Read"
        type: array
      matchOnResponseStatus:
        type: integer
      rank:
        type: integer
      ruleId:
        type: string
      source:
        type: string
    required:
      - action
      - source
      - rank
    type: object
  RuleChange-Write:
    description: ""
    properties:
      action:
        type: string
      actions:
        items:
          type: string
        type: array
      examples:
        items:
          type: string
        type: array
      formattedSource:
        type: string
      markers:
        items:
          $ref: "#/definitions/Marker-Write"
        type: array
      matchOnResponseStatus:
        type: integer
      rank:
        type: integer
      ruleId:
        type: string
      source:
        type: string
    required:
      - action
      - source
      - rank
    type: object
  RuleSetVersion:
    description: ""
    properties:
      createdAt:
        format: date-time
        readOnly: true
        type: string
      current:
        readOnly: true
        type: boolean
      id:
        readOnly: true
        type: string
      isSnapshot:
        type: boolean
      mergedRulesCount:
        type: integer
      name:
        type: string
      publishedAt:
        format: date-time
        type: string
      working:
        readOnly: true
        type: boolean
    type: object
  RuleSetVersion-Read:
    description: ""
    properties:
      createdAt:
        format: date-time
        readOnly: true
        type: string
      current:
        readOnly: true
        type: boolean
      id:
        readOnly: true
        type: string
      isSnapshot:
        type: boolean
      mergedRulesCount:
        type: integer
      name:
        type: string
      publishedAt:
        format: date-time
        type: string
      working:
        readOnly: true
        type: boolean
    type: object
  RuleStatistic:
    description: ""
    properties:
      id:
        type: string
      stats:
        type: string
    type: object
  SmartList:
    description: ""
    properties:
      defaultVersion:
        readOnly: true
        type: string
      description:
        readOnly: true
        type: string
      id:
        readOnly: true
        type: string
      name:
        readOnly: true
        type: string
      rules:
        readOnly: true
        type: string
      versions:
        items:
          type: string
        readOnly: true
        type: array
    type: object
  User:
    description: ""
    properties:
      currentPassword: {}
      defaultOrganization:
        $ref: "#/definitions/Organization"
      email:
        type: string
      id:
        readOnly: true
        type: string
      name:
        type: string
      newEmail:
        type: string
      newEmailToken:
        type: string
      newEmailTokenExpiredAt:
        format: date-time
        type: string
      password:
        type: string
      plainPassword:
        type: string
      plainPasswordRepeat: {}
      projectsFlattened:
        items:
          type: string
        type: array
      superAdmin:
        type: boolean
      updatedAt:
        format: date-time
        type: string
      userOrganizations:
        items:
          $ref: "#/definitions/UserOrganization"
        type: array
      userProjects:
        items:
          type: string
        type: array
    required:
      - email
      - name
    type: object
  User-CreationWrite:
    description: ""
    properties:
      email:
        type: string
      name:
        type: string
    required:
      - email
      - name
    type: object
  User-EditInfo:
    description: ""
    properties:
      name:
        type: string
    required:
      - name
    type: object
  User-List:
    description: ""
    properties:
      email:
        type: string
      id:
        readOnly: true
        type: string
      name:
        type: string
    required:
      - email
      - name
    type: object
  User-Password:
    description: ""
    properties:
      plainPassword:
        type: string
      plainPasswordRepeat: {}
    type: object
  User-Read:
    description: ""
    properties:
      name:
        type: string
    required:
      - name
    type: object
  User-ReadDetails:
    description: ""
    properties:
      name:
        type: string
    required:
      - name
    type: object
  UserOrganization:
    description: ""
    properties:
      functionalRoles:
        items:
          type: string
        type: array
      id:
        readOnly: true
        type: string
      organization:
        readOnly: true
        type: string
      user:
        readOnly: true
        type: string
    required:
      - functionalRoles
    type: object
  UserOrganization-CreationWrite:
    description: ""
    properties:
      functionalRoles:
        items:
          type: string
        type: array
      organization:
        readOnly: true
        type: string
      user:
        readOnly: true
        type: string
    required:
      - functionalRoles
    type: object
  UserOrganization-Read:
    description: ""
    properties:
      functionalRoles:
        items:
          type: string
        type: array
      id:
        readOnly: true
        type: string
      organization:
        readOnly: true
        type: string
      user:
        readOnly: true
        type: string
    required:
      - functionalRoles
    type: object
  UserOrganization-Write:
    description: ""
    properties:
      functionalRoles:
        items:
          type: string
        type: array
    required:
      - functionalRoles
    type: object
  UserProject:
    description: ""
    properties:
      functionalRoles:
        items:
          type: string
        type: array
      id:
        readOnly: true
        type: string
      project:
        type: string
      user:
        type: string
    required:
      - functionalRoles
      - user
      - project
    type: object
  UserProject-CreationWrite:
    description: ""
    properties:
      functionalRoles:
        items:
          type: string
        type: array
      project:
        type: string
      user:
        type: string
    required:
      - user
      - project
      - functionalRoles
    type: object
  UserProject-Read:
    description: ""
    properties:
      functionalRoles:
        items:
          type: string
        type: array
      id:
        readOnly: true
        type: string
      user:
        type: string
    required:
      - user
      - functionalRoles
    type: object
  UserProject-Write:
    description: ""
    properties:
      functionalRoles:
        items:
          type: string
        type: array
    required:
      - functionalRoles
    type: object
  UserProjectFlattened:
    description: ""
    properties:
      functionalRoles:
        items:
          type: string
        type: array
      project:
        type: string
      user:
        type: string
    type: object
  UserProjectFlattened-Read:
    description: ""
    properties:
      functionalRoles:
        items:
          type: string
        type: array
      user:
        type: string
    type: object
