Projects

List projects in workspace

get
Authorizations
Path parameters
workspaceIdstringRequired
Query parameters
isActivebooleanOptionalDeprecated

Deprecated. Use status instead.

projectIdsstring · uuid[] | nullableOptional

Filter projects by projectIds

tagKeystringOptionalDeprecated

Filter projects by tagKey (deprecated - use supportedPlatforms instead)

tagValuestringOptionalDeprecated

Filter projects by tagValue

metadatastring[] | nullableOptional

Filter projects by metadata

suitableChannelIdstringOptional
limitinteger · min: 1 · max: 100Optional

Limits the project of results to return

Default: 10
pageTokenstring · max: 8000Optional

Pagination token that keeps of track of the current position in the list

reversebooleanOptional

Order in which to retrieve the results

Default: false
sortBystring · enumOptional

Field that should be used to sort the results

Default: createdAtPossible values:
qstringOptional

Full text search on projects

useNewSearchbooleanOptional

Get results from the new search index

getOmnichannelbooleanOptional

Creates a separate query to get omnichannel projects of the specified type bypassing suitableChannelId. This only works when useNewSearch is true.

Responses
200
OK
application/json
Responseall of
get
GET /workspaces/{workspaceId}/projects HTTP/1.1
Host: 
Authorization: Bearer JWT
Accept: */*
{
  "results": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "workspaceId": "123e4567-e89b-12d3-a456-426614174000",
      "name": "text",
      "description": "text",
      "type": "chatwidget",
      "scope": 0,
      "supportedPlatforms": [
        "all"
      ],
      "locales": [
        "en"
      ],
      "activeResourceId": "123e4567-e89b-12d3-a456-426614174000",
      "draftCount": 1,
      "pendingCount": 1,
      "activeCount": 1,
      "inactiveCount": 1,
      "createdAt": "2025-07-03T02:23:33.862Z",
      "updatedAt": "2025-07-03T02:23:33.862Z",
      "approvedTemplateChannelsId": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "approvedTemplateChannelGroupIds": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "suites": [
        "marketing"
      ],
      "clonedFrom": "123e4567-e89b-12d3-a456-426614174000",
      "metadata": [
        {
          "key": "text",
          "value": "text"
        }
      ]
    }
  ],
  "nextPageToken": "text"
}

Create project

post
Authorizations
Path parameters
workspaceIdstringRequired
Body
namestringOptional
descriptionstringOptional
typestring · enumRequired

enum for all the different project types Touchpoints API supports.

Possible values:
scopenumber · enumOptional

dictionary:

  • 0 DEFAULT: This should indicate that the project is of our current scope (can be used across all BirdCRM services).
  • 1 SAVED_TEMPLATE: This should indicate that the project is a saved template, meaning that it came from extending one of BirdCRM library templates. They can be used for creating other Projects, such as inline campaigns and flows content.
  • 2 INLINE_MESSAGE: This should indicate that the project is an inline message, meaning that it was created from a campaign or flow using a library template or a saved template. They are linked to an specific instance of other BirdCRM services (Campaigns, Flows, etc.).
  • 3 (PLATFORM_REVIEWED_TEMPLATE): This should indicate that the project is a platform reviewed template, meaning the template must go through a external platform review.
Possible values:
Responses
201
Created
application/json
post
POST /workspaces/{workspaceId}/projects HTTP/1.1
Host: 
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 89

{
  "name": "text",
  "description": "text",
  "type": "chatwidget",
  "scope": 0,
  "suites": [
    "marketing"
  ]
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "workspaceId": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "description": "text",
  "type": "chatwidget",
  "scope": 0,
  "supportedPlatforms": [
    "all"
  ],
  "locales": [
    "en"
  ],
  "activeResourceId": "123e4567-e89b-12d3-a456-426614174000",
  "draftCount": 1,
  "pendingCount": 1,
  "activeCount": 1,
  "inactiveCount": 1,
  "createdAt": "2025-07-03T02:23:33.862Z",
  "updatedAt": "2025-07-03T02:23:33.862Z",
  "approvedTemplateChannelsId": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "approvedTemplateChannelGroupIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "suites": [
    "marketing"
  ],
  "clonedFrom": "123e4567-e89b-12d3-a456-426614174000",
  "metadata": [
    {
      "key": "text",
      "value": "text"
    }
  ]
}

Get Project

get
Authorizations
Path parameters
workspaceIdstringRequired
projectIdstringRequired
Responses
200
OK
application/json
get
GET /workspaces/{workspaceId}/projects/{projectId} HTTP/1.1
Host: 
Authorization: Bearer JWT
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "workspaceId": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "description": "text",
  "type": "chatwidget",
  "scope": 0,
  "supportedPlatforms": [
    "all"
  ],
  "locales": [
    "en"
  ],
  "activeResourceId": "123e4567-e89b-12d3-a456-426614174000",
  "draftCount": 1,
  "pendingCount": 1,
  "activeCount": 1,
  "inactiveCount": 1,
  "createdAt": "2025-07-03T02:23:33.862Z",
  "updatedAt": "2025-07-03T02:23:33.862Z",
  "approvedTemplateChannelsId": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "approvedTemplateChannelGroupIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "suites": [
    "marketing"
  ],
  "clonedFrom": "123e4567-e89b-12d3-a456-426614174000",
  "metadata": [
    {
      "key": "text",
      "value": "text"
    }
  ]
}

Update Project

patch
Authorizations
Path parameters
workspaceIdstringRequired
projectIdstringRequired
Body
namestring | nullableOptional
descriptionstring | nullableOptional
typeall of | nullableOptional
string · enumOptional

enum for all the different project types Touchpoints API supports.

Possible values:
Responses
200
Updated
application/json
patch
PATCH /workspaces/{workspaceId}/projects/{projectId} HTTP/1.1
Host: 
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 73

{
  "name": "text",
  "description": "text",
  "type": "text",
  "suites": [
    "marketing"
  ]
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "workspaceId": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "description": "text",
  "type": "chatwidget",
  "scope": 0,
  "supportedPlatforms": [
    "all"
  ],
  "locales": [
    "en"
  ],
  "activeResourceId": "123e4567-e89b-12d3-a456-426614174000",
  "draftCount": 1,
  "pendingCount": 1,
  "activeCount": 1,
  "inactiveCount": 1,
  "createdAt": "2025-07-03T02:23:33.862Z",
  "updatedAt": "2025-07-03T02:23:33.862Z",
  "approvedTemplateChannelsId": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "approvedTemplateChannelGroupIds": [
    "123e4567-e89b-12d3-a456-426614174000"
  ],
  "suites": [
    "marketing"
  ],
  "clonedFrom": "123e4567-e89b-12d3-a456-426614174000",
  "metadata": [
    {
      "key": "text",
      "value": "text"
    }
  ]
}

Delete project

delete
Authorizations
Path parameters
workspaceIdstringRequired
projectIdstringRequired
Responses
204
Deleted
delete
DELETE /workspaces/{workspaceId}/projects/{projectId} HTTP/1.1
Host: 
Authorization: Bearer JWT
Accept: */*

No content

Last updated

Was this helpful?