Skip to content

ProjectsService

Organize passes and templates into projects.

Methods

MethodDescription
list(options?)List all projects
get(id)Get a single project
create(data)Create a project
update(id, data)Update a project
delete(id)Delete a project

list()

List projects with optional filtering.

typescript
const projects = await client.projects.list({
  filter: { workspace_id: { _eq: 'workspace-uuid' } },
  sort: ['-date_created']
});

get()

Get a single project with statistics.

typescript
const project = await client.projects.get('project-uuid');

console.log('Project:', project.name);
console.log('Templates:', project.statistics?.templates_count);
console.log('Passes:', project.statistics?.passes_count);
console.log('Registrations:', project.statistics?.total_registrations_count);

create()

Create a new project.

typescript
const project = await client.projects.create({
  workspace_id: 'workspace-uuid',
  name: 'Summer Promotion 2024',
  description: 'Loyalty program for summer campaign'
});

update()

Update a project.

typescript
await client.projects.update('project-uuid', {
  name: 'Summer Promotion 2024 (Extended)',
  description: 'Extended through September'
});

delete()

Delete a project.

typescript
await client.projects.delete('project-uuid');

WARNING

Deleting a project also deletes all associated templates and passes.

WalletHero Documentation