openapi: 3.0.0
servers:
  - url: //api.ote-godaddy.com
info:
  title: ""
  version: 1.0.0
  x-apisguru-categories:
    - hosting
  x-origin:
    - format: swagger
      url: https://developer.godaddy.com/swagger/swagger_agreements.json
      version: "2.0"
  x-providerName: ote-godaddy.com
  x-serviceName: agreements
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg
tags:
  - description: ""
    name: v1
paths:
  /v1/agreements:
    get:
      operationId: get
      parameters:
        - description: PrivateLabelId to operate as, if different from JWT
          in: header
          name: X-Private-Label-Id
          required: false
          schema:
            type: integer
        - description: Unique identifier of the Market used to retrieve/translate Legal Agreements
          in: header
          name: X-Market-Id
          required: false
          schema:
            default: en-US
            format: bcp-47
            type: string
        - description: Keys for Agreements whose details are to be retrieved
          explode: false
          in: query
          name: keys
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
      responses:
        "200":
          content:
            application/javascript:
              schema:
                items:
                  $ref: "#/components/schemas/LegalAgreement"
                type: array
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/LegalAgreement"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/LegalAgreement"
                type: array
            text/javascript:
              schema:
                items:
                  $ref: "#/components/schemas/LegalAgreement"
                type: array
            text/xml:
              schema:
                items:
                  $ref: "#/components/schemas/LegalAgreement"
                type: array
          description: Request was successful
        "400":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Request was malformed
        "401":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authentication info not sent or invalid
        "403":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authenticated user is not allowed access
        "429":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
          description: Too many requests received within interval
        "500":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Internal server error
      summary: Retrieve Legal Agreements for provided agreements keys
      tags:
        - v1
components:
  schemas:
    Error:
      properties:
        code:
          description: Short identifier for the error, suitable for indicating the specific error within client code
          format: constant
          type: string
        fields:
          description: List of the specific fields, and the errors found with their contents
          items:
            $ref: "#/components/schemas/ErrorField"
          type: array
        message:
          description: Human-readable, English description of the error
          type: string
      required:
        - code
    ErrorField:
      properties:
        code:
          description: Short identifier for the error, suitable for indicating the specific error within client code
          format: constant
          type: string
        message:
          description: Human-readable, English description of the problem with the contents of the field
          type: string
        path:
          description: |-
            <ul>
            <li style='margin-left: 12px;'>JSONPath referring to a field containing an error</li>
            <strong style='margin-left: 12px;'>OR</strong>
            <li style='margin-left: 12px;'>JSONPath referring to a field that refers to an object containing an error, with more detail in `pathRelated`</li>
            </ul>
          format: json-path
          type: string
        pathRelated:
          description: JSONPath referring to a field containing an error, which is referenced by `path`
          format: json-path
          type: string
      required:
        - path
        - code
    ErrorLimit:
      properties:
        code:
          description: Short identifier for the error, suitable for indicating the specific error within client code
          format: constant
          type: string
        fields:
          description: List of the specific fields, and the errors found with their contents
          items:
            $ref: "#/components/schemas/ErrorField"
          type: array
        message:
          description: Human-readable, English description of the error
          type: string
        retryAfterSec:
          description: Number of seconds to wait before attempting a similar request
          format: integer-positive
          type: integer
      required:
        - retryAfterSec
        - code
    LegalAgreement:
      properties:
        agreementKey:
          description: Unique identifier for the legal agreement
          type: string
        content:
          description: Contents of the legal agreement, suitable for embedding
          type: string
        title:
          description: Title of the legal agreement
          type: string
        url:
          description: URL to a page containing the legal agreement
          format: url
          type: string
      required:
        - agreementKey
        - title
        - content
