{ "openapi": "3.0.1", "info": { "title": "JobOffersCopilot", "version": "v1" }, "servers": [ { "url": "https://job-offer.copilot.us" } ], "paths": { "/api/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" } } } } } } }, "/api/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" } } } } } } }, "/api/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" } } } } } } }, "/api/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" } } } } } } }, "/api/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." } } } } } }