Job Offers Copilot

Job Offers Copilot · GPT 작업

JobOffersCopilot

  • POST /letter/candidateSaves candidate information.
  • POST /letter/job-offerSaves job offer information
  • POST /letter/companySaves company information.
  • GET /letter/get-logo-upload-linkGenerates a unique link that users use to upload their logo
  • GET /letter/save-logoYou must call with endpoint when the user provides logo: either its url or tells that he's uploaded it.'
원본 API 스키마
{
  "openapi": "3.0.1",
  "info": {
    "title": "JobOffersCopilot",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.copilot.us/run/654d23dc80b7a5ccae50e700/65786cb0956caf0360799198"
    }
  ],
  "paths": {
    "/letter/candidate": {
      "post": {
        "operationId": "SaveCandidateInfo",
        "summary": "Saves candidate information.",
        "requestBody": {
          "description": "Body containing candidate details.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CandidateInfo"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Information about the success of the operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessfulResponse"
                }
              }
            }
          },
          "400": {
            "description": "Occurs when there's an error in the request or processing.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FailedResponse"
                }
              }
            }
          }
        }
      }
    },
    "/letter/job-offer": {
      "post": {
        "operationId": "SaveJobOfferInfo",
        "summary": "Saves job offer information",
        "requestBody": {
          "description": "Body containing job offer details.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobOfferInfo"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Information about the success of the operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessfulResponse"
                }
              }
            }
          }
        }
      }
    },
    "/letter/company": {
      "post": {
        "operationId": "SaveCompanyInfo",
        "summary": "Saves company information.",
        "requestBody": {
          "description": "Body containing company details.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyInfo"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Confirmation of the invoice saving operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessfulResponse"
                }
              }
            }
          }
        }
      }
    },
    "/letter/get-logo-upload-link": {
      "get": {
        "operationId": "GetLinkForLogoUpload",
        "summary": "Generates a unique link that users use to upload their logo",
        "responses": {
          "200": {
            "description": "The logo upload link.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/logoUploadResponse"
                }
              }
            }
          }
        }
      }
    },
    "/letter/save-logo": {
      "get": {
        "operationId": "SaveLogo",
        "summary": "You must call with endpoint when the user provides logo: either its url or tells that he's uploaded it.'",
        "parameters": [
          {
            "name": "logoUrl",
            "in": "query",
            "description": "URL of the logo to be saved. Populate this field only if the user has provided it. Otherwise, leave it empty.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Confirmation of the logo saving operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessfulResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "CandidateInfo": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "First name of the candidate."
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the candidate."
          },
          "candidateAddress": {
            "type": "string",
            "description": "Address of the candidate."
          },
          "city": {
            "type": "string",
            "description": "City of the candidate."
          },
          "state": {
            "type": "string",
            "description": "State of the candidate."
          },
          "zip": {
            "type": "string",
            "description": "Zip of the candidate."
          }
        }
      },
      "JobOfferInfo": {
        "type": "object",
        "properties": {
          "jobTitle": {
            "type": "string",
            "description": "Job title of the job offer."
          },
          "jobType": {
            "type": "string",
            "description": "Job type of the job offer."
          },
          "responsibilitiesAndExpectations": {
            "type": "string",
            "description": "Responsibilities and expectations of the job offer."
          },
          "payAmount": {
            "type": "int",
            "description": "Pay amount of the job offer."
          },
          "currencyType": {
            "type": "string",
            "description": "Currency type."
          },
          "paymentFrequency": {
            "type": "string",
            "description": "Payment frequency of the job offer."
          },
          "benefits": {
            "type": "string",
            "description": "Benefits of the job offer."
          },
          "startDate": {
            "type": "string",
            "description": "Start date of the job offer."
          }
        }
      },
      "CompanyInfo": {
        "type": "object",
        "properties": {
          "companyName": {
            "type": "string",
            "description": "Name of the company."
          },
          "managerOrSupervisorName": {
            "type": "string",
            "nullable": true,
            "description": "Manager or supervisor name of the company."
          },
          "managerOrSupervisorTitle": {
            "type": "string",
            "nullable": true,
            "description": "Manager or supervisor title of the company."
          },
          "managerOrSupervisorContactInformation": {
            "type": "string",
            "nullable": true,
            "description": "Manager or supervisor contact information of the company."
          },
          "workplaceLocation": {
            "type": "string",
            "description": "Workplace location of the company."
          },
          "yourPrintedName": {
            "type": "string",
            "description": "User's printed name."
          },
          "yourJobTitle": {
            "type": "string",
            "description": "Job title of the job offer"
          }
        }
      },
      "logoUploadResponse": {
        "type": "object",
        "properties": {
          "responseInstructions": {
            "type": "string",
            "description": "Encourage the user to use this link to upload company logo. Ask user to let you know when it's done and resume is uplaoded.'"
          },
          "logoUploadLink": {
            "type": "string",
            "description": "The company logo upload link"
          }
        }
      },
      "SuccessfulResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Indicates if the operation was successful."
          },
          "responseInstructions": {
            "type": "string",
            "description": "Instructions or feedback."
          }
        }
      }
    }
  }
}