# Product

Source: https://swapcard.dev/organizer/content-api/graphql-event-api-schema/objects/product


const [open, setOpen] = useState(startOpen);
  return (
    <details {...(open ? { open: true } : {})} className="details" style={{ border:'none', boxShadow:'none', background:'var(--ifm-background-color)' }}>
      <summary
        onClick={(e) => {
          e.preventDefault();
          setOpen((open) => !open);
        }}
        style={{ listStyle:'none' }}
      >
      {open ? dataOpen : dataClose}
      </summary>
      {open && children}
    </details>
  );
};

A product or a service related to an exhibitor.

```graphql
type Product {
  id: ID!
  inputId: ID
  name: String!
  description: String
  translations: [ProductTranslation!]!
  imageUrl: String
  assetsUrls: [String!]!
  category: ProductCategory!
  customFields: [FieldUnion!]!
  exhibitors: [Exhibitor!]!
  clientIds: [ID!]
  withEvent(
    eventId: ID!
  ): ProductWithEvent
  createdAt: DateTime!
  updatedAt: DateTime!
  events: EventsConnection
}
```

### Fields

#### [<code style={{ fontWeight: 'normal' }}>Product.<b>id</b></code>](#)<Bullet />[`ID!`](/organizer/content-api/graphql-event-api-schema/scalars/id) <Badge class="badge badge--secondary" text="non-null"/> <Badge class="badge badge--secondary" text="scalar"/> 
> 
> 
> 
> 

#### [<code style={{ fontWeight: 'normal' }}>Product.<b>inputId</b></code>](#)<Bullet />[`ID`](/organizer/content-api/graphql-event-api-schema/scalars/id) <Badge class="badge badge--secondary" text="scalar"/> 
> 
> 
> 
> 

#### [<code style={{ fontWeight: 'normal' }}>Product.<b>name</b></code>](#)<Bullet />[`String!`](/organizer/content-api/graphql-event-api-schema/scalars/string) <Badge class="badge badge--secondary" text="non-null"/> <Badge class="badge badge--secondary" text="scalar"/> 
> 
> 
> 
> 

#### [<code style={{ fontWeight: 'normal' }}>Product.<b>description</b></code>](#)<Bullet />[`String`](/organizer/content-api/graphql-event-api-schema/scalars/string) <Badge class="badge badge--secondary" text="scalar"/> 
> 
> 
> 
> 

#### [<code style={{ fontWeight: 'normal' }}>Product.<b>translations</b></code>](#)<Bullet />[`[ProductTranslation!]!`](/organizer/content-api/graphql-event-api-schema/objects/product-translation) <Badge class="badge badge--secondary" text="non-null"/> <Badge class="badge badge--secondary" text="object"/> 
> 
> 
> 
> 

#### [<code style={{ fontWeight: 'normal' }}>Product.<b>imageUrl</b></code>](#)<Bullet />[`String`](/organizer/content-api/graphql-event-api-schema/scalars/string) <Badge class="badge badge--secondary" text="scalar"/> 
> 
> 
> The main image of the product
> 

#### [<code style={{ fontWeight: 'normal' }}>Product.<b>assetsUrls</b></code>](#)<Bullet />[`[String!]!`](/organizer/content-api/graphql-event-api-schema/scalars/string) <Badge class="badge badge--secondary" text="non-null"/> <Badge class="badge badge--secondary" text="scalar"/> 
> 
> 
> List all assets of the product
> 

#### [<code style={{ fontWeight: 'normal' }}>Product.<b>category</b></code>](#)<Bullet />[`ProductCategory!`](/organizer/content-api/graphql-event-api-schema/objects/product-category) <Badge class="badge badge--secondary" text="non-null"/> <Badge class="badge badge--secondary" text="object"/> 
> 
> 
> The category in which the product is
> 

#### [<code style={{ fontWeight: 'normal' }}>Product.<b>customFields</b></code>](#)<Bullet />[`[FieldUnion!]!`](/organizer/content-api/graphql-event-api-schema/unions/field-union) <Badge class="badge badge--secondary" text="non-null"/> <Badge class="badge badge--secondary" text="union"/> 
> 
> 
> Get custom field values for this product. For getting only fields enabled on an event, use withEvent.fields
> 

#### [<code style={{ fontWeight: 'normal' }}>Product.<b>exhibitors</b></code>](#)<Bullet />[`[Exhibitor!]!`](/organizer/content-api/graphql-event-api-schema/objects/exhibitor) <Badge class="badge badge--secondary" text="non-null"/> <Badge class="badge badge--secondary" text="object"/> 
> 
> 
> Exhibitors linked to products across the community. For event specific information, use withEvent.exhibitors.
> 

#### [<code style={{ fontWeight: 'normal' }}>Product.<b>clientIds</b></code>](#)<Bullet />[`[ID!]`](/organizer/content-api/graphql-event-api-schema/scalars/id) <Badge class="badge badge--secondary" text="list"/> <Badge class="badge badge--secondary" text="scalar"/> 
> 
> 
> List of client IDs attached to the product.
> 

#### [<code style={{ fontWeight: 'normal' }}>Product.<b>withEvent</b></code>](#)<Bullet />[`ProductWithEvent`](/organizer/content-api/graphql-event-api-schema/objects/product-with-event) <Badge class="badge badge--secondary" text="object"/> 
> 
> 
> 
> ##### [<code style={{ fontWeight: 'normal' }}>Product.withEvent.<b>eventId</b></code>](#)<Bullet />[`ID!`](/organizer/content-api/graphql-event-api-schema/scalars/id) <Badge class="badge badge--secondary" text="non-null"/> <Badge class="badge badge--secondary" text="scalar"/> 
> 
> 
> 
> 

#### [<code style={{ fontWeight: 'normal' }}>Product.<b>createdAt</b></code>](#)<Bullet />[`DateTime!`](/organizer/content-api/graphql-event-api-schema/scalars/date-time) <Badge class="badge badge--secondary" text="non-null"/> <Badge class="badge badge--secondary" text="scalar"/> 
> 
> 
> 
> 

#### [<code style={{ fontWeight: 'normal' }}>Product.<b>updatedAt</b></code>](#)<Bullet />[`DateTime!`](/organizer/content-api/graphql-event-api-schema/scalars/date-time) <Badge class="badge badge--secondary" text="non-null"/> <Badge class="badge badge--secondary" text="scalar"/> 
> 
> 
> 
> 

#### [<code style={{ fontWeight: 'normal' }}>EventPerson.<b>events</b></code>](#)<Bullet />[`EventsConnection!`](/exhibitor/leads-api/graphql-exhibitor-api-schema/types/objects/events-connection.mdx) <Badge class="badge badge--secondary" text="non-null"/> <Badge class="badge badge--secondary" text="object"/> 
> 
> 
> 
> 

### Member Of

[`AdvertisementExhibitorRedirectProduct`](/organizer/content-api/graphql-event-api-schema/objects/advertisement-exhibitor-redirect-product)  <Badge class="badge badge--secondary" text="object"/><Bullet />[`CreateProductPayload`](/organizer/content-api/graphql-event-api-schema/objects/create-product-payload)  <Badge class="badge badge--secondary" text="object"/><Bullet />[`EventPerson`](/organizer/content-api/graphql-event-api-schema/objects/event-person)  <Badge class="badge badge--secondary" text="object"/><Bullet />[`EventPersonWithEvent`](/organizer/content-api/graphql-event-api-schema/objects/event-person-with-event)  <Badge class="badge badge--secondary" text="object"/><Bullet />[`ProductLead`](/organizer/content-api/graphql-event-api-schema/objects/product-lead)  <Badge class="badge badge--secondary" text="object"/><Bullet />[`ProductsConnection`](/organizer/content-api/graphql-event-api-schema/objects/products-connection)  <Badge class="badge badge--secondary" text="object"/><Bullet />[`UpdateProductPayload`](/organizer/content-api/graphql-event-api-schema/objects/update-product-payload)  <Badge class="badge badge--secondary" text="object"/><Bullet />[`UpdateProductsPayload`](/organizer/content-api/graphql-event-api-schema/objects/update-products-payload)  <Badge class="badge badge--secondary" text="object"/>
