/** * Pipedrive API v2 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 2.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { Configuration } from '../configuration'; import type { AxiosInstance } from 'axios'; import { RequestArgs, BaseAPI } from '../base'; import { AddProjectRequest } from '../models'; import { DeleteProjectResponse } from '../models'; import { GetProjectChangelogResponse } from '../models'; import { GetProjectPermittedUsersResponse } from '../models'; import { GetProjectSearchResponse } from '../models'; import { GetProjectsResponse } from '../models'; import { UpdateProjectRequest } from '../models'; import { UpsertProjectResponse } from '../models'; /** * ProjectsApi - axios parameter creator * @export */ export declare const ProjectsApiAxiosParamCreator: (configuration?: Configuration) => { /** * Adds a new project. Custom fields should be wrapped in the `custom_fields` object. * @summary Add a project * @param {AddProjectRequest} AddProjectRequest * @throws {RequiredError} */ addProject: (AddProjectRequest: AddProjectRequest) => Promise; /** * Archives a project. * @summary Archive a project * @param {number} id The ID of the project * @throws {RequiredError} */ archiveProject: (id: number) => Promise; /** * Marks a project as deleted. * @summary Delete a project * @param {number} id The ID of the project * @throws {RequiredError} */ deleteProject: (id: number) => Promise; /** * Returns all archived projects. * @summary Get all archived projects * @param {number} [filter_id] If supplied, only projects matching the specified filter are returned * @param {string} [status] If supplied, includes only projects with the specified statuses. Possible values are `open`, `completed`, `canceled` and `deleted`. By default `deleted` projects are not returned. * @param {number} [phase_id] If supplied, only projects in the specified phase are returned * @param {number} [limit] For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed. * @param {string} [cursor] For pagination, the marker (an opaque string value) representing the first item on the next page * @throws {RequiredError} */ getArchivedProjects: (filter_id?: number, status?: string, phase_id?: number, limit?: number, cursor?: string) => Promise; /** * Returns the details of a specific project. Custom fields appear as keys inside the `custom_fields` object. * @summary Get details of a project * @param {number} id The ID of the project * @throws {RequiredError} */ getProject: (id: number) => Promise; /** * Lists updates about field values of a project. * @summary List updates about project field values * @param {number} id The ID of the project * @param {number} [limit] For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed. * @param {string} [cursor] For pagination, the marker (an opaque string value) representing the first item on the next page * @throws {RequiredError} */ getProjectChangelog: (id: number, limit?: number, cursor?: string) => Promise; /** * Lists the users permitted to access a project. * @summary List permitted users * @param {number} id The ID of the project * @throws {RequiredError} */ getProjectUsers: (id: number) => Promise; /** * Returns all non-archived projects. * @summary Get all projects * @param {number} [filter_id] If supplied, only projects matching the specified filter are returned * @param {string} [status] If supplied, includes only projects with the specified statuses. Possible values are `open`, `completed`, `canceled` and `deleted`. By default `deleted` projects are not returned. * @param {number} [phase_id] If supplied, only projects in the specified phase are returned * @param {number} [deal_id] If supplied, only projects associated with the specified deal are returned * @param {number} [person_id] If supplied, only projects associated with the specified person are returned * @param {number} [org_id] If supplied, only projects associated with the specified organization are returned * @param {number} [limit] For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed. * @param {string} [cursor] For pagination, the marker (an opaque string value) representing the first item on the next page * @throws {RequiredError} */ getProjects: (filter_id?: number, status?: string, phase_id?: number, deal_id?: number, person_id?: number, org_id?: number, limit?: number, cursor?: string) => Promise; /** * Searches all projects by title, description, notes and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope. Found projects can be filtered by person ID or organization ID. * @summary Search projects * @param {string} term The search term to look for. Minimum 2 characters (or 1 if using `exact_match`). Please note that the search term has to be URL encoded. * @param {'custom_fields' | 'notes' | 'title' | 'description'} [fields] A comma-separated string array. The fields to perform the search from. Defaults to all of them. Only the following custom field types are searchable: `address`, `varchar`, `text`, `varchar_auto`, `double`, `monetary` and `phone`. Read more about searching by custom fields <a href=\"https://support.pipedrive.com/en/article/search-finding-what-you-need#searching-by-custom-fields\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>. * @param {boolean} [exact_match] When enabled, only full exact matches against the given term are returned. It is <b>not</b> case sensitive. * @param {number} [person_id] Will filter projects by the provided person ID * @param {number} [organization_id] Will filter projects by the provided organization ID * @param {number} [limit] For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed. * @param {string} [cursor] For pagination, the marker (an opaque string value) representing the first item on the next page * @throws {RequiredError} */ searchProjects: (term: string, fields?: 'custom_fields' | 'notes' | 'title' | 'description', exact_match?: boolean, person_id?: number, organization_id?: number, limit?: number, cursor?: string) => Promise; /** * Updates the properties of a project. * @summary Update a project * @param {number} id The ID of the project * @param {UpdateProjectRequest} [UpdateProjectRequest] * @throws {RequiredError} */ updateProject: (id: number, UpdateProjectRequest?: UpdateProjectRequest) => Promise; }; /** * ProjectsApi - functional programming interface * @export */ export declare const ProjectsApiFp: (configuration?: Configuration) => { /** * Adds a new project. Custom fields should be wrapped in the `custom_fields` object. * @summary Add a project * @param {AddProjectRequest} AddProjectRequest * @throws {RequiredError} */ addProject(AddProjectRequest: AddProjectRequest): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>; /** * Archives a project. * @summary Archive a project * @param {number} id The ID of the project * @throws {RequiredError} */ archiveProject(id: number): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>; /** * Marks a project as deleted. * @summary Delete a project * @param {number} id The ID of the project * @throws {RequiredError} */ deleteProject(id: number): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>; /** * Returns all archived projects. * @summary Get all archived projects * @param {number} [filter_id] If supplied, only projects matching the specified filter are returned * @param {string} [status] If supplied, includes only projects with the specified statuses. Possible values are `open`, `completed`, `canceled` and `deleted`. By default `deleted` projects are not returned. * @param {number} [phase_id] If supplied, only projects in the specified phase are returned * @param {number} [limit] For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed. * @param {string} [cursor] For pagination, the marker (an opaque string value) representing the first item on the next page * @throws {RequiredError} */ getArchivedProjects(filter_id?: number, status?: string, phase_id?: number, limit?: number, cursor?: string): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>; /** * Returns the details of a specific project. Custom fields appear as keys inside the `custom_fields` object. * @summary Get details of a project * @param {number} id The ID of the project * @throws {RequiredError} */ getProject(id: number): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>; /** * Lists updates about field values of a project. * @summary List updates about project field values * @param {number} id The ID of the project * @param {number} [limit] For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed. * @param {string} [cursor] For pagination, the marker (an opaque string value) representing the first item on the next page * @throws {RequiredError} */ getProjectChangelog(id: number, limit?: number, cursor?: string): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>; /** * Lists the users permitted to access a project. * @summary List permitted users * @param {number} id The ID of the project * @throws {RequiredError} */ getProjectUsers(id: number): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>; /** * Returns all non-archived projects. * @summary Get all projects * @param {number} [filter_id] If supplied, only projects matching the specified filter are returned * @param {string} [status] If supplied, includes only projects with the specified statuses. Possible values are `open`, `completed`, `canceled` and `deleted`. By default `deleted` projects are not returned. * @param {number} [phase_id] If supplied, only projects in the specified phase are returned * @param {number} [deal_id] If supplied, only projects associated with the specified deal are returned * @param {number} [person_id] If supplied, only projects associated with the specified person are returned * @param {number} [org_id] If supplied, only projects associated with the specified organization are returned * @param {number} [limit] For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed. * @param {string} [cursor] For pagination, the marker (an opaque string value) representing the first item on the next page * @throws {RequiredError} */ getProjects(filter_id?: number, status?: string, phase_id?: number, deal_id?: number, person_id?: number, org_id?: number, limit?: number, cursor?: string): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>; /** * Searches all projects by title, description, notes and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope. Found projects can be filtered by person ID or organization ID. * @summary Search projects * @param {string} term The search term to look for. Minimum 2 characters (or 1 if using `exact_match`). Please note that the search term has to be URL encoded. * @param {'custom_fields' | 'notes' | 'title' | 'description'} [fields] A comma-separated string array. The fields to perform the search from. Defaults to all of them. Only the following custom field types are searchable: `address`, `varchar`, `text`, `varchar_auto`, `double`, `monetary` and `phone`. Read more about searching by custom fields <a href=\"https://support.pipedrive.com/en/article/search-finding-what-you-need#searching-by-custom-fields\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>. * @param {boolean} [exact_match] When enabled, only full exact matches against the given term are returned. It is <b>not</b> case sensitive. * @param {number} [person_id] Will filter projects by the provided person ID * @param {number} [organization_id] Will filter projects by the provided organization ID * @param {number} [limit] For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed. * @param {string} [cursor] For pagination, the marker (an opaque string value) representing the first item on the next page * @throws {RequiredError} */ searchProjects(term: string, fields?: 'custom_fields' | 'notes' | 'title' | 'description', exact_match?: boolean, person_id?: number, organization_id?: number, limit?: number, cursor?: string): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>; /** * Updates the properties of a project. * @summary Update a project * @param {number} id The ID of the project * @param {UpdateProjectRequest} [UpdateProjectRequest] * @throws {RequiredError} */ updateProject(id: number, UpdateProjectRequest?: UpdateProjectRequest): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>; }; /** * ProjectsApi - factory interface * @export */ export declare const ProjectsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => { /** * Adds a new project. Custom fields should be wrapped in the `custom_fields` object. * @summary Add a project * @param {ProjectsApiAddProjectRequest} requestParameters Request parameters. * @throws {RequiredError} */ addProject(requestParameters: ProjectsApiAddProjectRequest): Promise; /** * Archives a project. * @summary Archive a project * @param {ProjectsApiArchiveProjectRequest} requestParameters Request parameters. * @throws {RequiredError} */ archiveProject(requestParameters: ProjectsApiArchiveProjectRequest): Promise; /** * Marks a project as deleted. * @summary Delete a project * @param {ProjectsApiDeleteProjectRequest} requestParameters Request parameters. * @throws {RequiredError} */ deleteProject(requestParameters: ProjectsApiDeleteProjectRequest): Promise; /** * Returns all archived projects. * @summary Get all archived projects * @param {ProjectsApiGetArchivedProjectsRequest} requestParameters Request parameters. * @throws {RequiredError} */ getArchivedProjects(requestParameters?: ProjectsApiGetArchivedProjectsRequest): Promise; /** * Returns the details of a specific project. Custom fields appear as keys inside the `custom_fields` object. * @summary Get details of a project * @param {ProjectsApiGetProjectRequest} requestParameters Request parameters. * @throws {RequiredError} */ getProject(requestParameters: ProjectsApiGetProjectRequest): Promise; /** * Lists updates about field values of a project. * @summary List updates about project field values * @param {ProjectsApiGetProjectChangelogRequest} requestParameters Request parameters. * @throws {RequiredError} */ getProjectChangelog(requestParameters: ProjectsApiGetProjectChangelogRequest): Promise; /** * Lists the users permitted to access a project. * @summary List permitted users * @param {ProjectsApiGetProjectUsersRequest} requestParameters Request parameters. * @throws {RequiredError} */ getProjectUsers(requestParameters: ProjectsApiGetProjectUsersRequest): Promise; /** * Returns all non-archived projects. * @summary Get all projects * @param {ProjectsApiGetProjectsRequest} requestParameters Request parameters. * @throws {RequiredError} */ getProjects(requestParameters?: ProjectsApiGetProjectsRequest): Promise; /** * Searches all projects by title, description, notes and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope. Found projects can be filtered by person ID or organization ID. * @summary Search projects * @param {ProjectsApiSearchProjectsRequest} requestParameters Request parameters. * @throws {RequiredError} */ searchProjects(requestParameters: ProjectsApiSearchProjectsRequest): Promise; /** * Updates the properties of a project. * @summary Update a project * @param {ProjectsApiUpdateProjectRequest} requestParameters Request parameters. * @throws {RequiredError} */ updateProject(requestParameters: ProjectsApiUpdateProjectRequest): Promise; }; /** * Request parameters for addProject operation in ProjectsApi. * @export * @interface ProjectsApiAddProjectRequest */ export interface ProjectsApiAddProjectRequest { /** * * @type {AddProjectRequest} * @memberof ProjectsApiAddProject */ readonly AddProjectRequest: AddProjectRequest; } /** * Request parameters for archiveProject operation in ProjectsApi. * @export * @interface ProjectsApiArchiveProjectRequest */ export interface ProjectsApiArchiveProjectRequest { /** * The ID of the project * @type {number} * @memberof ProjectsApiArchiveProject */ readonly id: number; } /** * Request parameters for deleteProject operation in ProjectsApi. * @export * @interface ProjectsApiDeleteProjectRequest */ export interface ProjectsApiDeleteProjectRequest { /** * The ID of the project * @type {number} * @memberof ProjectsApiDeleteProject */ readonly id: number; } /** * Request parameters for getArchivedProjects operation in ProjectsApi. * @export * @interface ProjectsApiGetArchivedProjectsRequest */ export interface ProjectsApiGetArchivedProjectsRequest { /** * If supplied, only projects matching the specified filter are returned * @type {number} * @memberof ProjectsApiGetArchivedProjects */ readonly filter_id?: number; /** * If supplied, includes only projects with the specified statuses. Possible values are `open`, `completed`, `canceled` and `deleted`. By default `deleted` projects are not returned. * @type {string} * @memberof ProjectsApiGetArchivedProjects */ readonly status?: string; /** * If supplied, only projects in the specified phase are returned * @type {number} * @memberof ProjectsApiGetArchivedProjects */ readonly phase_id?: number; /** * For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed. * @type {number} * @memberof ProjectsApiGetArchivedProjects */ readonly limit?: number; /** * For pagination, the marker (an opaque string value) representing the first item on the next page * @type {string} * @memberof ProjectsApiGetArchivedProjects */ readonly cursor?: string; } /** * Request parameters for getProject operation in ProjectsApi. * @export * @interface ProjectsApiGetProjectRequest */ export interface ProjectsApiGetProjectRequest { /** * The ID of the project * @type {number} * @memberof ProjectsApiGetProject */ readonly id: number; } /** * Request parameters for getProjectChangelog operation in ProjectsApi. * @export * @interface ProjectsApiGetProjectChangelogRequest */ export interface ProjectsApiGetProjectChangelogRequest { /** * The ID of the project * @type {number} * @memberof ProjectsApiGetProjectChangelog */ readonly id: number; /** * For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed. * @type {number} * @memberof ProjectsApiGetProjectChangelog */ readonly limit?: number; /** * For pagination, the marker (an opaque string value) representing the first item on the next page * @type {string} * @memberof ProjectsApiGetProjectChangelog */ readonly cursor?: string; } /** * Request parameters for getProjectUsers operation in ProjectsApi. * @export * @interface ProjectsApiGetProjectUsersRequest */ export interface ProjectsApiGetProjectUsersRequest { /** * The ID of the project * @type {number} * @memberof ProjectsApiGetProjectUsers */ readonly id: number; } /** * Request parameters for getProjects operation in ProjectsApi. * @export * @interface ProjectsApiGetProjectsRequest */ export interface ProjectsApiGetProjectsRequest { /** * If supplied, only projects matching the specified filter are returned * @type {number} * @memberof ProjectsApiGetProjects */ readonly filter_id?: number; /** * If supplied, includes only projects with the specified statuses. Possible values are `open`, `completed`, `canceled` and `deleted`. By default `deleted` projects are not returned. * @type {string} * @memberof ProjectsApiGetProjects */ readonly status?: string; /** * If supplied, only projects in the specified phase are returned * @type {number} * @memberof ProjectsApiGetProjects */ readonly phase_id?: number; /** * If supplied, only projects associated with the specified deal are returned * @type {number} * @memberof ProjectsApiGetProjects */ readonly deal_id?: number; /** * If supplied, only projects associated with the specified person are returned * @type {number} * @memberof ProjectsApiGetProjects */ readonly person_id?: number; /** * If supplied, only projects associated with the specified organization are returned * @type {number} * @memberof ProjectsApiGetProjects */ readonly org_id?: number; /** * For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed. * @type {number} * @memberof ProjectsApiGetProjects */ readonly limit?: number; /** * For pagination, the marker (an opaque string value) representing the first item on the next page * @type {string} * @memberof ProjectsApiGetProjects */ readonly cursor?: string; } /** * Request parameters for searchProjects operation in ProjectsApi. * @export * @interface ProjectsApiSearchProjectsRequest */ export interface ProjectsApiSearchProjectsRequest { /** * The search term to look for. Minimum 2 characters (or 1 if using `exact_match`). Please note that the search term has to be URL encoded. * @type {string} * @memberof ProjectsApiSearchProjects */ readonly term: string; /** * A comma-separated string array. The fields to perform the search from. Defaults to all of them. Only the following custom field types are searchable: `address`, `varchar`, `text`, `varchar_auto`, `double`, `monetary` and `phone`. Read more about searching by custom fields <a href=\"https://support.pipedrive.com/en/article/search-finding-what-you-need#searching-by-custom-fields\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>. * @type {'custom_fields' | 'notes' | 'title' | 'description'} * @memberof ProjectsApiSearchProjects */ readonly fields?: 'custom_fields' | 'notes' | 'title' | 'description'; /** * When enabled, only full exact matches against the given term are returned. It is <b>not</b> case sensitive. * @type {boolean} * @memberof ProjectsApiSearchProjects */ readonly exact_match?: boolean; /** * Will filter projects by the provided person ID * @type {number} * @memberof ProjectsApiSearchProjects */ readonly person_id?: number; /** * Will filter projects by the provided organization ID * @type {number} * @memberof ProjectsApiSearchProjects */ readonly organization_id?: number; /** * For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed. * @type {number} * @memberof ProjectsApiSearchProjects */ readonly limit?: number; /** * For pagination, the marker (an opaque string value) representing the first item on the next page * @type {string} * @memberof ProjectsApiSearchProjects */ readonly cursor?: string; } /** * Request parameters for updateProject operation in ProjectsApi. * @export * @interface ProjectsApiUpdateProjectRequest */ export interface ProjectsApiUpdateProjectRequest { /** * The ID of the project * @type {number} * @memberof ProjectsApiUpdateProject */ readonly id: number; /** * * @type {UpdateProjectRequest} * @memberof ProjectsApiUpdateProject */ readonly UpdateProjectRequest?: UpdateProjectRequest; } /** * ProjectsApi - object-oriented interface * @export * @class ProjectsApi * @extends {BaseAPI} */ export declare class ProjectsApi extends BaseAPI { /** * Adds a new project. Custom fields should be wrapped in the `custom_fields` object. * @summary Add a project * @param {ProjectsApiAddProjectRequest} requestParameters Request parameters. * @throws {RequiredError} * @memberof ProjectsApi */ addProject(requestParameters: ProjectsApiAddProjectRequest): Promise; /** * Archives a project. * @summary Archive a project * @param {ProjectsApiArchiveProjectRequest} requestParameters Request parameters. * @throws {RequiredError} * @memberof ProjectsApi */ archiveProject(requestParameters: ProjectsApiArchiveProjectRequest): Promise; /** * Marks a project as deleted. * @summary Delete a project * @param {ProjectsApiDeleteProjectRequest} requestParameters Request parameters. * @throws {RequiredError} * @memberof ProjectsApi */ deleteProject(requestParameters: ProjectsApiDeleteProjectRequest): Promise; /** * Returns all archived projects. * @summary Get all archived projects * @param {ProjectsApiGetArchivedProjectsRequest} requestParameters Request parameters. * @throws {RequiredError} * @memberof ProjectsApi */ getArchivedProjects(requestParameters?: ProjectsApiGetArchivedProjectsRequest): Promise; /** * Returns the details of a specific project. Custom fields appear as keys inside the `custom_fields` object. * @summary Get details of a project * @param {ProjectsApiGetProjectRequest} requestParameters Request parameters. * @throws {RequiredError} * @memberof ProjectsApi */ getProject(requestParameters: ProjectsApiGetProjectRequest): Promise; /** * Lists updates about field values of a project. * @summary List updates about project field values * @param {ProjectsApiGetProjectChangelogRequest} requestParameters Request parameters. * @throws {RequiredError} * @memberof ProjectsApi */ getProjectChangelog(requestParameters: ProjectsApiGetProjectChangelogRequest): Promise; /** * Lists the users permitted to access a project. * @summary List permitted users * @param {ProjectsApiGetProjectUsersRequest} requestParameters Request parameters. * @throws {RequiredError} * @memberof ProjectsApi */ getProjectUsers(requestParameters: ProjectsApiGetProjectUsersRequest): Promise; /** * Returns all non-archived projects. * @summary Get all projects * @param {ProjectsApiGetProjectsRequest} requestParameters Request parameters. * @throws {RequiredError} * @memberof ProjectsApi */ getProjects(requestParameters?: ProjectsApiGetProjectsRequest): Promise; /** * Searches all projects by title, description, notes and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope. Found projects can be filtered by person ID or organization ID. * @summary Search projects * @param {ProjectsApiSearchProjectsRequest} requestParameters Request parameters. * @throws {RequiredError} * @memberof ProjectsApi */ searchProjects(requestParameters: ProjectsApiSearchProjectsRequest): Promise; /** * Updates the properties of a project. * @summary Update a project * @param {ProjectsApiUpdateProjectRequest} requestParameters Request parameters. * @throws {RequiredError} * @memberof ProjectsApi */ updateProject(requestParameters: ProjectsApiUpdateProjectRequest): Promise; }