# Campaigns

Read-only access to campaigns

## Get campaign by UUID

> Fetch a single campaign by \*\*UUID\*\* and \*\*platformDomain\*\*.\
> Requires \*\*campaigns:read\*\* ability.<br>

```json
{"openapi":"3.1.0","info":{"title":"Teeinblue Public API","version":"1.0.0"},"tags":[{"name":"Campaigns","description":"Read-only access to campaigns"}],"servers":[{"url":"https://api.teeinblue.com/openapi/v1","description":"Production"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Include `Authorization: Bearer <token>` header.\nToken must have the required abilities.\n"}},"parameters":{"platformDomain":{"name":"shop","in":"query","required":true,"description":"The platform domain of the shop\n","schema":{"type":"string","nullable":false}}},"schemas":{"PlatformCampaign":{"type":"object","description":"Details of a campaign by platform.\n","properties":{"id":{"type":"integer","description":"Unique identifier for this campaign"},"uuid":{"type":"string","description":"Unique identifier for this campaign"},"instance_id":{"type":"number","description":"Instance ID of the campaign"},"domain":{"type":"string","description":"Domain of the instance the campaign belongs to"},"platform_domain":{"type":"string","description":"Platform domain of the instance the campaign belongs to"},"platform":{"type":"string","description":"Platform of the campaign"},"platform_linked_id":{"type":"number","description":"Platform linked ID of the campaign"},"name":{"type":"string","description":"Name of the campaign"},"preview_url":{"type":"string","description":"Preview URL of the campaign"},"preview_thumbnail":{"type":"string","description":"Preview thumbnail of the campaign"},"version":{"type":"number","description":"Version of the campaign"},"enable_artwork_variant_assignment":{"type":"boolean","description":"Whether artwork variant assignment is enabled"},"published_at":{"type":"string","format":"date-time","description":"Timestamp when the campaign was published"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the campaign was created"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the campaign was last updated"},"artworks":{"type":"array","items":{"$ref":"#/components/schemas/Artwork"},"description":"Artworks in the campaign"},"mockups":{"type":"array","items":{"$ref":"#/components/schemas/PlatformMockup"},"description":"Mockups in the campaign"}}},"Artwork":{"type":"object","description":"Public artwork information including name, description, and status.\n","properties":{"id":{"type":"integer","description":"Unique identifier for this artwork"},"name":{"type":"string","description":"Name of the artwork"},"description":{"type":"string","description":"Description of the artwork"},"width":{"type":"integer","description":"Width of the artwork"},"height":{"type":"integer","description":"Height of the artwork"},"thumbnail":{"type":"string","description":"Thumbnail of the artwork"},"status":{"type":"number","description":"Status of the artwork"},"position":{"type":"number","description":"Position of the artwork"},"platform_variants_id":{"type":"array","items":{"type":"number"},"description":"Platform variants ID of the artwork"}}},"PlatformMockup":{"type":"object","description":"Public mockup information including name, description, and status.\n","properties":{"id":{"type":"integer","description":"Unique identifier for this mockup"},"width":{"type":"integer","description":"Width of the mockup"},"height":{"type":"integer","description":"Height of the mockup"},"platform_variants_id":{"type":"array","items":{"type":"number"},"description":"Platform variants ID of the mockup"},"preview_url":{"type":"string","description":"Preview URL of the mockup"},"preview_thumbnail":{"type":"string","description":"Preview thumbnail of the mockup"}}},"Error":{"type":"object","properties":{"message":{"type":"string"}}}},"responses":{"Unauthorized":{"description":"Missing or invalid authentication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Forbidden":{"description":"Authenticated but lacking required ability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/campaigns/{campaignId}":{"get":{"tags":["Campaigns"],"summary":"Get campaign by UUID","description":"Fetch a single campaign by **UUID** and **platformDomain**.\nRequires **campaigns:read** ability.\n","operationId":"getCampaign","parameters":[{"name":"UUID","in":"path","required":true,"schema":{"type":"string"},"description":"Campaign UUID (e.g., `6d823e4d-8f21-41f8-b461-e97c981880bc`)"},{"$ref":"#/components/parameters/platformDomain"}],"responses":{"200":{"description":"Campaign found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformCampaign"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Campaign not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## List product base campaigns

> List all product base campaigns.\
> Requires \*\*campaigns:read\*\* ability.<br>

```json
{"openapi":"3.1.0","info":{"title":"Teeinblue Public API","version":"1.0.0"},"tags":[{"name":"Campaigns","description":"Read-only access to campaigns"}],"servers":[{"url":"https://api.teeinblue.com/openapi/v1","description":"Production"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Include `Authorization: Bearer <token>` header.\nToken must have the required abilities.\n"}},"parameters":{"s":{"name":"s","in":"query","description":"Search orders by order name (fuzzy search). Searches through the order's display name/reference.\nUseful for finding orders by customer reference numbers or partial name matches.\n","schema":{"type":"string","nullable":true}},"sort":{"name":"sort","in":"query","description":"Field to sort the results by. Determines the primary ordering of returned orders.\nMost commonly used fields: `created_at` for chronological order, `total_price` for value-based sorting.\nDefault is `created_at` when not specified.\n","schema":{"type":"string","nullable":true,"enum":["created_at","total_price","updated_at"],"default":"created_at"}},"sort_type":{"name":"sort_type","in":"query","description":"Sort direction for the specified sort field. Use `desc` for newest/highest first,\n`asc` for oldest/lowest first. When sorting by `created_at`, `desc` shows most recent orders first.\nDefault is `desc` when not specified.\n","schema":{"type":"string","nullable":true,"enum":["asc","desc"],"default":"desc"}},"per_page":{"name":"per_page","in":"query","description":"Number of orders to return per page using cursor-based pagination.\nHigher values reduce API calls but increase response size and processing time.\nRecommended range: 10-100 for most use cases. Maximum allowed: 500.\n","schema":{"type":"integer","minimum":1,"maximum":500,"default":25}},"cursor":{"name":"cursor","in":"query","description":"Pagination cursor for retrieving the next set of results. This is an opaque string\nreturned in the `meta.next_cursor` field of the previous response. Do not manually construct\ncursor values - always use the exact string provided by the API. For first page requests,\nomit this parameter entirely.\n","schema":{"type":"string","nullable":true}}},"schemas":{"ProductBaseCampaignCursorPage":{"type":"object","description":"Cursor-paginated list of product base campaigns.","allOf":[{"$ref":"#/components/schemas/CursorPageEnvelope"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProductBaseCampaign"},"description":"Array of product base campaign objects for the current page."}}}]},"CursorPageEnvelope":{"type":"object","description":"Common envelope for cursor-paginated list responses. List endpoints return an object\nwith `data` (array of items), `links` (next/prev URLs), and `meta` (per_page, cursors).\n","required":["links","meta"],"properties":{"links":{"$ref":"#/components/schemas/CursorPageLinks"},"meta":{"$ref":"#/components/schemas/CursorPageMeta"}}},"CursorPageLinks":{"type":"object","description":"Navigation URLs for cursor-based pagination.","properties":{"next":{"type":"string","nullable":true,"format":"uri","description":"URL to fetch the next page of results. Null if this is the last page."},"prev":{"type":"string","nullable":true,"format":"uri","description":"URL to fetch the previous page of results. Null if this is the first page."}}},"CursorPageMeta":{"type":"object","description":"Pagination metadata for cursor-based pagination.","properties":{"per_page":{"type":"integer","description":"Number of items requested per page."},"next_cursor":{"type":"string","nullable":true,"description":"Opaque cursor for the next page. Use in the cursor parameter for subsequent requests."},"prev_cursor":{"type":"string","nullable":true,"description":"Opaque cursor for the previous page. Use in the cursor parameter to go back."}}},"ProductBaseCampaign":{"type":"object","description":"Product base campaign information including name, description, and status.\n","properties":{"id":{"type":"integer","description":"Unique identifier for this product base campaign"},"name":{"type":"string","description":"Name of the product base campaign"},"status":{"type":"number","description":"Status of the product base campaign:\n- `0`: Default\n- `1`: Archived\n"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the product base campaign was created"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the product base campaign was last updated"},"artworks":{"type":"array","items":{"$ref":"#/components/schemas/Artwork"},"description":"Artworks in the product base campaign"},"mockups":{"type":"array","items":{"$ref":"#/components/schemas/ProductBaseMockup"},"description":"Mockups in the product base campaign"}}},"Artwork":{"type":"object","description":"Public artwork information including name, description, and status.\n","properties":{"id":{"type":"integer","description":"Unique identifier for this artwork"},"name":{"type":"string","description":"Name of the artwork"},"description":{"type":"string","description":"Description of the artwork"},"width":{"type":"integer","description":"Width of the artwork"},"height":{"type":"integer","description":"Height of the artwork"},"thumbnail":{"type":"string","description":"Thumbnail of the artwork"},"status":{"type":"number","description":"Status of the artwork"},"position":{"type":"number","description":"Position of the artwork"},"platform_variants_id":{"type":"array","items":{"type":"number"},"description":"Platform variants ID of the artwork"}}},"ProductBaseMockup":{"type":"object","description":"Public mockup information including name, description, and status.\n","properties":{"id":{"type":"integer","description":"Unique identifier for this mockup"},"width":{"type":"integer","description":"Width of the mockup"},"height":{"type":"integer","description":"Height of the mockup"},"position":{"type":"number","description":"Position of the mockup"},"preview_url":{"type":"string","description":"Preview URL of the mockup"},"preview_thumbnail":{"type":"string","description":"Preview thumbnail of the mockup"}}},"Error":{"type":"object","properties":{"message":{"type":"string"}}}},"responses":{"Unauthorized":{"description":"Missing or invalid authentication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Forbidden":{"description":"Authenticated but lacking required ability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/campaigns/product-base":{"get":{"tags":["Campaigns"],"summary":"List product base campaigns","description":"List all product base campaigns.\nRequires **campaigns:read** ability.\n","operationId":"listProductBaseCampaigns","parameters":[{"$ref":"#/components/parameters/s"},{"$ref":"#/components/parameters/sort"},{"$ref":"#/components/parameters/sort_type"},{"$ref":"#/components/parameters/per_page"},{"$ref":"#/components/parameters/cursor"}],"responses":{"200":{"description":"List of product base campaigns (cursor-paginated)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBaseCampaignCursorPage"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}}}}
```

## Get a product base campaign by ID

> Fetch a single product base campaign by its ID.\
> Requires \*\*campaigns:read\*\* ability.<br>

```json
{"openapi":"3.1.0","info":{"title":"Teeinblue Public API","version":"1.0.0"},"tags":[{"name":"Campaigns","description":"Read-only access to campaigns"}],"servers":[{"url":"https://api.teeinblue.com/openapi/v1","description":"Production"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Include `Authorization: Bearer <token>` header.\nToken must have the required abilities.\n"}},"schemas":{"ProductBaseCampaign":{"type":"object","description":"Product base campaign information including name, description, and status.\n","properties":{"id":{"type":"integer","description":"Unique identifier for this product base campaign"},"name":{"type":"string","description":"Name of the product base campaign"},"status":{"type":"number","description":"Status of the product base campaign:\n- `0`: Default\n- `1`: Archived\n"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the product base campaign was created"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the product base campaign was last updated"},"artworks":{"type":"array","items":{"$ref":"#/components/schemas/Artwork"},"description":"Artworks in the product base campaign"},"mockups":{"type":"array","items":{"$ref":"#/components/schemas/ProductBaseMockup"},"description":"Mockups in the product base campaign"}}},"Artwork":{"type":"object","description":"Public artwork information including name, description, and status.\n","properties":{"id":{"type":"integer","description":"Unique identifier for this artwork"},"name":{"type":"string","description":"Name of the artwork"},"description":{"type":"string","description":"Description of the artwork"},"width":{"type":"integer","description":"Width of the artwork"},"height":{"type":"integer","description":"Height of the artwork"},"thumbnail":{"type":"string","description":"Thumbnail of the artwork"},"status":{"type":"number","description":"Status of the artwork"},"position":{"type":"number","description":"Position of the artwork"},"platform_variants_id":{"type":"array","items":{"type":"number"},"description":"Platform variants ID of the artwork"}}},"ProductBaseMockup":{"type":"object","description":"Public mockup information including name, description, and status.\n","properties":{"id":{"type":"integer","description":"Unique identifier for this mockup"},"width":{"type":"integer","description":"Width of the mockup"},"height":{"type":"integer","description":"Height of the mockup"},"position":{"type":"number","description":"Position of the mockup"},"preview_url":{"type":"string","description":"Preview URL of the mockup"},"preview_thumbnail":{"type":"string","description":"Preview thumbnail of the mockup"}}},"Error":{"type":"object","properties":{"message":{"type":"string"}}}},"responses":{"Unauthorized":{"description":"Missing or invalid authentication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Forbidden":{"description":"Authenticated but lacking required ability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/campaigns/product-base/{id}":{"get":{"tags":["Campaigns"],"summary":"Get a product base campaign by ID","description":"Fetch a single product base campaign by its ID.\nRequires **campaigns:read** ability.\n","operationId":"getProductBaseCampaignById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Product base campaign ID (e.g., `1245`)"}],"responses":{"200":{"description":"Product base campaign found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBaseCampaign"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Product base campaign not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## List platform base campaigns

> List all platform base campaigns.\
> Requires \*\*campaigns:read\*\* ability.<br>

```json
{"openapi":"3.1.0","info":{"title":"Teeinblue Public API","version":"1.0.0"},"tags":[{"name":"Campaigns","description":"Read-only access to campaigns"}],"servers":[{"url":"https://api.teeinblue.com/openapi/v1","description":"Production"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Include `Authorization: Bearer <token>` header.\nToken must have the required abilities.\n"}},"parameters":{"s":{"name":"s","in":"query","description":"Search orders by order name (fuzzy search). Searches through the order's display name/reference.\nUseful for finding orders by customer reference numbers or partial name matches.\n","schema":{"type":"string","nullable":true}},"sort":{"name":"sort","in":"query","description":"Field to sort the results by. Determines the primary ordering of returned orders.\nMost commonly used fields: `created_at` for chronological order, `total_price` for value-based sorting.\nDefault is `created_at` when not specified.\n","schema":{"type":"string","nullable":true,"enum":["created_at","total_price","updated_at"],"default":"created_at"}},"sort_type":{"name":"sort_type","in":"query","description":"Sort direction for the specified sort field. Use `desc` for newest/highest first,\n`asc` for oldest/lowest first. When sorting by `created_at`, `desc` shows most recent orders first.\nDefault is `desc` when not specified.\n","schema":{"type":"string","nullable":true,"enum":["asc","desc"],"default":"desc"}},"per_page":{"name":"per_page","in":"query","description":"Number of orders to return per page using cursor-based pagination.\nHigher values reduce API calls but increase response size and processing time.\nRecommended range: 10-100 for most use cases. Maximum allowed: 500.\n","schema":{"type":"integer","minimum":1,"maximum":500,"default":25}},"cursor":{"name":"cursor","in":"query","description":"Pagination cursor for retrieving the next set of results. This is an opaque string\nreturned in the `meta.next_cursor` field of the previous response. Do not manually construct\ncursor values - always use the exact string provided by the API. For first page requests,\nomit this parameter entirely.\n","schema":{"type":"string","nullable":true}},"platforms":{"name":"platforms","in":"query","description":"Filter by the platform(s).\n\nNote: This API expects **array query params** in the bracket form:\n- Single value: `platforms[]=etsy`\n- Multiple values: `platforms[]=etsy&platforms[]=shopify`\n\nUsing `platforms=etsy` will result in a validation error.\n\nValid platforms include:\n- `etsy`\n- `shopify`\n- `boundless`\n","style":"form","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["etsy","shopify","boundless"]}}}},"schemas":{"PlatformBaseCampaignCursorPage":{"type":"object","description":"Cursor-paginated list of platform base campaigns.","allOf":[{"$ref":"#/components/schemas/CursorPageEnvelope"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCampaign"},"description":"Array of platform base campaign objects for the current page."}}}]},"CursorPageEnvelope":{"type":"object","description":"Common envelope for cursor-paginated list responses. List endpoints return an object\nwith `data` (array of items), `links` (next/prev URLs), and `meta` (per_page, cursors).\n","required":["links","meta"],"properties":{"links":{"$ref":"#/components/schemas/CursorPageLinks"},"meta":{"$ref":"#/components/schemas/CursorPageMeta"}}},"CursorPageLinks":{"type":"object","description":"Navigation URLs for cursor-based pagination.","properties":{"next":{"type":"string","nullable":true,"format":"uri","description":"URL to fetch the next page of results. Null if this is the last page."},"prev":{"type":"string","nullable":true,"format":"uri","description":"URL to fetch the previous page of results. Null if this is the first page."}}},"CursorPageMeta":{"type":"object","description":"Pagination metadata for cursor-based pagination.","properties":{"per_page":{"type":"integer","description":"Number of items requested per page."},"next_cursor":{"type":"string","nullable":true,"description":"Opaque cursor for the next page. Use in the cursor parameter for subsequent requests."},"prev_cursor":{"type":"string","nullable":true,"description":"Opaque cursor for the previous page. Use in the cursor parameter to go back."}}},"PlatformCampaign":{"type":"object","description":"Details of a campaign by platform.\n","properties":{"id":{"type":"integer","description":"Unique identifier for this campaign"},"uuid":{"type":"string","description":"Unique identifier for this campaign"},"instance_id":{"type":"number","description":"Instance ID of the campaign"},"domain":{"type":"string","description":"Domain of the instance the campaign belongs to"},"platform_domain":{"type":"string","description":"Platform domain of the instance the campaign belongs to"},"platform":{"type":"string","description":"Platform of the campaign"},"platform_linked_id":{"type":"number","description":"Platform linked ID of the campaign"},"name":{"type":"string","description":"Name of the campaign"},"preview_url":{"type":"string","description":"Preview URL of the campaign"},"preview_thumbnail":{"type":"string","description":"Preview thumbnail of the campaign"},"version":{"type":"number","description":"Version of the campaign"},"enable_artwork_variant_assignment":{"type":"boolean","description":"Whether artwork variant assignment is enabled"},"published_at":{"type":"string","format":"date-time","description":"Timestamp when the campaign was published"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the campaign was created"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the campaign was last updated"},"artworks":{"type":"array","items":{"$ref":"#/components/schemas/Artwork"},"description":"Artworks in the campaign"},"mockups":{"type":"array","items":{"$ref":"#/components/schemas/PlatformMockup"},"description":"Mockups in the campaign"}}},"Artwork":{"type":"object","description":"Public artwork information including name, description, and status.\n","properties":{"id":{"type":"integer","description":"Unique identifier for this artwork"},"name":{"type":"string","description":"Name of the artwork"},"description":{"type":"string","description":"Description of the artwork"},"width":{"type":"integer","description":"Width of the artwork"},"height":{"type":"integer","description":"Height of the artwork"},"thumbnail":{"type":"string","description":"Thumbnail of the artwork"},"status":{"type":"number","description":"Status of the artwork"},"position":{"type":"number","description":"Position of the artwork"},"platform_variants_id":{"type":"array","items":{"type":"number"},"description":"Platform variants ID of the artwork"}}},"PlatformMockup":{"type":"object","description":"Public mockup information including name, description, and status.\n","properties":{"id":{"type":"integer","description":"Unique identifier for this mockup"},"width":{"type":"integer","description":"Width of the mockup"},"height":{"type":"integer","description":"Height of the mockup"},"platform_variants_id":{"type":"array","items":{"type":"number"},"description":"Platform variants ID of the mockup"},"preview_url":{"type":"string","description":"Preview URL of the mockup"},"preview_thumbnail":{"type":"string","description":"Preview thumbnail of the mockup"}}},"Error":{"type":"object","properties":{"message":{"type":"string"}}}},"responses":{"Unauthorized":{"description":"Missing or invalid authentication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Forbidden":{"description":"Authenticated but lacking required ability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/campaigns/platform-base":{"get":{"tags":["Campaigns"],"summary":"List platform base campaigns","description":"List all platform base campaigns.\nRequires **campaigns:read** ability.\n","operationId":"listPlatformBaseCampaigns","parameters":[{"$ref":"#/components/parameters/s"},{"$ref":"#/components/parameters/sort"},{"$ref":"#/components/parameters/sort_type"},{"$ref":"#/components/parameters/per_page"},{"$ref":"#/components/parameters/cursor"},{"$ref":"#/components/parameters/platforms"}],"responses":{"200":{"description":"List of platform base campaigns (cursor-paginated)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformBaseCampaignCursorPage"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}}}}
```

## Get a platform base campaign by ID

> Fetch a single platform base campaign by its ID.\
> Requires \*\*campaigns:read\*\* ability.<br>

```json
{"openapi":"3.1.0","info":{"title":"Teeinblue Public API","version":"1.0.0"},"tags":[{"name":"Campaigns","description":"Read-only access to campaigns"}],"servers":[{"url":"https://api.teeinblue.com/openapi/v1","description":"Production"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Include `Authorization: Bearer <token>` header.\nToken must have the required abilities.\n"}},"schemas":{"PlatformCampaign":{"type":"object","description":"Details of a campaign by platform.\n","properties":{"id":{"type":"integer","description":"Unique identifier for this campaign"},"uuid":{"type":"string","description":"Unique identifier for this campaign"},"instance_id":{"type":"number","description":"Instance ID of the campaign"},"domain":{"type":"string","description":"Domain of the instance the campaign belongs to"},"platform_domain":{"type":"string","description":"Platform domain of the instance the campaign belongs to"},"platform":{"type":"string","description":"Platform of the campaign"},"platform_linked_id":{"type":"number","description":"Platform linked ID of the campaign"},"name":{"type":"string","description":"Name of the campaign"},"preview_url":{"type":"string","description":"Preview URL of the campaign"},"preview_thumbnail":{"type":"string","description":"Preview thumbnail of the campaign"},"version":{"type":"number","description":"Version of the campaign"},"enable_artwork_variant_assignment":{"type":"boolean","description":"Whether artwork variant assignment is enabled"},"published_at":{"type":"string","format":"date-time","description":"Timestamp when the campaign was published"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the campaign was created"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the campaign was last updated"},"artworks":{"type":"array","items":{"$ref":"#/components/schemas/Artwork"},"description":"Artworks in the campaign"},"mockups":{"type":"array","items":{"$ref":"#/components/schemas/PlatformMockup"},"description":"Mockups in the campaign"}}},"Artwork":{"type":"object","description":"Public artwork information including name, description, and status.\n","properties":{"id":{"type":"integer","description":"Unique identifier for this artwork"},"name":{"type":"string","description":"Name of the artwork"},"description":{"type":"string","description":"Description of the artwork"},"width":{"type":"integer","description":"Width of the artwork"},"height":{"type":"integer","description":"Height of the artwork"},"thumbnail":{"type":"string","description":"Thumbnail of the artwork"},"status":{"type":"number","description":"Status of the artwork"},"position":{"type":"number","description":"Position of the artwork"},"platform_variants_id":{"type":"array","items":{"type":"number"},"description":"Platform variants ID of the artwork"}}},"PlatformMockup":{"type":"object","description":"Public mockup information including name, description, and status.\n","properties":{"id":{"type":"integer","description":"Unique identifier for this mockup"},"width":{"type":"integer","description":"Width of the mockup"},"height":{"type":"integer","description":"Height of the mockup"},"platform_variants_id":{"type":"array","items":{"type":"number"},"description":"Platform variants ID of the mockup"},"preview_url":{"type":"string","description":"Preview URL of the mockup"},"preview_thumbnail":{"type":"string","description":"Preview thumbnail of the mockup"}}},"Error":{"type":"object","properties":{"message":{"type":"string"}}}},"responses":{"Unauthorized":{"description":"Missing or invalid authentication","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Forbidden":{"description":"Authenticated but lacking required ability","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/campaigns/platform-base/{id}":{"get":{"tags":["Campaigns"],"summary":"Get a platform base campaign by ID","description":"Fetch a single platform base campaign by its ID.\nRequires **campaigns:read** ability.\n","operationId":"getPlatformBaseCampaignById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Platform base campaign ID (e.g., `1245`)"}],"responses":{"200":{"description":"Platform base found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformCampaign"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Platform base not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://teeinblue-api.gitbook.io/teeinblue-api-docs/api/campaigns.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
