Akeneo Event Platform

Subscriber

Create a Subscribing service


REQUEST

post /api/v1/subscriber

Path parameters

Ø

Query parameters

Ø

Headers

Authorization • Equal to 'Bearer xxx', `xxx` being the authentication token, see Authentication section

Content-type • Equal to 'application/json', no other value allowed

Accept • Equal to 'application/json', no other value allowed

Body
{
      "name": {
        "type": "string",
        "description": "The subscriber name"
      },
      "contact": {
        "type": "object",
        "properties": {
          "technical_email": {
            "type": "string",
            "format": "email"
          }
        }
      }
    }
Example
{
      "name": "translation app",
      "contact": {
        "technical_email": "john.doe@example.com"
      }
    }

RESPONSES

Subscribing service created

Body Format application/json
{
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "tenant_id": {
        "type": "string",
        "description": "The PIM Tenant id"
      },
      "client_id": {
        "type": "string",
        "description": "The client_id this subscriber is linked to, the value come from X-PIM-CLIENT-ID"
      },
      "subject": {
        "type": "string",
        "format": "uri",
        "description": "The pim associated to this subscriber, the value come from X-PIM-URL"
      },
      "status": {
        "type": "string",
        "description": "status of the subscriber",
        "default": "active",
        "enum": [
          "active",
          "deleted",
          "revoked"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
Example
{
      "id": "018e1ec5-29da-78ad-aae6-92065b9ca2a5",
      "tenant_id": "srnt-pim-example",
      "client_id": "f66597f5-1d3f-4397-a044-9a728cfd7f9c",
      "subject": "https://example.cloud.akeneo.com/",
      "status": "active",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z",
      "name": "translation app",
      "contact": {
        "technical_email": "john.doe@example.com"
      }
    }

Bad request - the request payload was malformed

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Unauthorized - tenant context not found or invalid credentials

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Subscription is deleted

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Get all subscribers

Get all subscribers that are either active or revoked


REQUEST

get /api/v1/subscriber

Path parameters

Ø

Query parameters

Ø

Headers

Authorization • Equal to 'Bearer xxx', `xxx` being the authentication token, see Authentication section

Content-type • Equal to 'application/json', no other value allowed

Accept • Equal to 'application/json', no other value allowed

Body

Ø


RESPONSES

List of subscribers

Body Format application/json
{
      "allOf": [
        {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The subscriber name"
            },
            "contact": {
              "type": "object",
              "properties": {
                "technical_email": {
                  "type": "string",
                  "format": "email"
                }
              }
            }
          },
          "example": {
            "name": "translation app",
            "contact": {
              "technical_email": "john.doe@example.com"
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "tenant_id": {
          "type": "string",
          "description": "The PIM Tenant id"
        },
        "client_id": {
          "type": "string",
          "description": "The client_id this subscriber is linked to, the value come from X-PIM-CLIENT-ID"
        },
        "subject": {
          "type": "string",
          "format": "uri",
          "description": "The pim associated to this subscriber, the value come from X-PIM-URL"
        },
        "status": {
          "type": "string",
          "description": "status of the subscriber",
          "default": "active",
          "enum": [
            "active",
            "deleted",
            "revoked"
          ]
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        }
      },
      "example": {
        "id": "018e1ec5-29da-78ad-aae6-92065b9ca2a5",
        "tenant_id": "srnt-pim-example",
        "client_id": "f66597f5-1d3f-4397-a044-9a728cfd7f9c",
        "subject": "https://example.cloud.akeneo.com/",
        "status": "active",
        "createdAt": "2019-08-24T14:15:22Z",
        "updatedAt": "2019-08-24T14:15:22Z",
        "name": "translation app",
        "contact": {
          "technical_email": "john.doe@example.com"
        }
      }
    }
Example

Ø

Unauthorized - tenant context not found or invalid credentials

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Get a subscriber

Get a subscriber configuration with its identifier


REQUEST

get /api/v1/subscriber/{subscriber_id}

Path parameters

subscriber_id () • Subscriber id

Query parameters

Ø

Headers

Authorization • Equal to 'Bearer xxx', `xxx` being the authentication token, see Authentication section

Content-type • Equal to 'application/json', no other value allowed

Accept • Equal to 'application/json', no other value allowed

Body

Ø


RESPONSES

Subscriber found

Body Format application/json
{
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "tenant_id": {
        "type": "string",
        "description": "The PIM Tenant id"
      },
      "client_id": {
        "type": "string",
        "description": "The client_id this subscriber is linked to, the value come from X-PIM-CLIENT-ID"
      },
      "subject": {
        "type": "string",
        "format": "uri",
        "description": "The pim associated to this subscriber, the value come from X-PIM-URL"
      },
      "status": {
        "type": "string",
        "description": "status of the subscriber",
        "default": "active",
        "enum": [
          "active",
          "deleted",
          "revoked"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
Example
{
      "id": "018e1ec5-29da-78ad-aae6-92065b9ca2a5",
      "tenant_id": "srnt-pim-example",
      "client_id": "f66597f5-1d3f-4397-a044-9a728cfd7f9c",
      "subject": "https://example.cloud.akeneo.com/",
      "status": "active",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z",
      "name": "translation app",
      "contact": {
        "technical_email": "john.doe@example.com"
      }
    }

Unauthorized - tenant context not found or invalid credentials

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Subscriber or subscription not found

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Update a Subscribing service


REQUEST

patch /api/v1/subscriber/{subscriber_id}

Path parameters

subscriber_id () • Subscriber id

Query parameters

Ø

Headers

Authorization • Equal to 'Bearer xxx', `xxx` being the authentication token, see Authentication section

Content-type • Equal to 'application/json', no other value allowed

Accept • Equal to 'application/json', no other value allowed

Body
{
      "name": {
        "type": "string",
        "description": "The subscriber name"
      },
      "contact": {
        "type": "object",
        "properties": {
          "technical_email": {
            "type": "string",
            "format": "email"
          }
        }
      }
    }
Example
{
      "name": "translation app",
      "contact": {
        "technical_email": "john.doe@example.com"
      }
    }

RESPONSES

Subscriber updated

Body Format application/json
{
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "tenant_id": {
        "type": "string",
        "description": "The PIM Tenant id"
      },
      "client_id": {
        "type": "string",
        "description": "The client_id this subscriber is linked to, the value come from X-PIM-CLIENT-ID"
      },
      "subject": {
        "type": "string",
        "format": "uri",
        "description": "The pim associated to this subscriber, the value come from X-PIM-URL"
      },
      "status": {
        "type": "string",
        "description": "status of the subscriber",
        "default": "active",
        "enum": [
          "active",
          "deleted",
          "revoked"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
Example
{
      "id": "018e1ec5-29da-78ad-aae6-92065b9ca2a5",
      "tenant_id": "srnt-pim-example",
      "client_id": "f66597f5-1d3f-4397-a044-9a728cfd7f9c",
      "subject": "https://example.cloud.akeneo.com/",
      "status": "active",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z",
      "name": "translation app",
      "contact": {
        "technical_email": "john.doe@example.com"
      }
    }

Bad request - the request payload was malformed

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Unauthorized - tenant context not found or invalid credentials

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Delete a Subscribing service


REQUEST

delete /api/v1/subscriber/{subscriber_id}

Path parameters

subscriber_id () • Subscriber id

Query parameters

Ø

Headers

Authorization • Equal to 'Bearer xxx', `xxx` being the authentication token, see Authentication section

Content-type • Equal to 'application/json', no other value allowed

Accept • Equal to 'application/json', no other value allowed

Body

Ø


RESPONSES

Subscriber deleted

Body Format application/json
{
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "tenant_id": {
        "type": "string",
        "description": "The PIM Tenant id"
      },
      "client_id": {
        "type": "string",
        "description": "The client_id this subscriber is linked to, the value come from X-PIM-CLIENT-ID"
      },
      "subject": {
        "type": "string",
        "format": "uri",
        "description": "The pim associated to this subscriber, the value come from X-PIM-URL"
      },
      "status": {
        "type": "string",
        "description": "status of the subscriber",
        "default": "active",
        "enum": [
          "active",
          "deleted",
          "revoked"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
Example
{
      "id": "018e1ec5-29da-78ad-aae6-92065b9ca2a5",
      "tenant_id": "srnt-pim-example",
      "client_id": "f66597f5-1d3f-4397-a044-9a728cfd7f9c",
      "subject": "https://example.cloud.akeneo.com/",
      "status": "active",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z",
      "name": "translation app",
      "contact": {
        "technical_email": "john.doe@example.com"
      }
    }

Unauthorized - tenant context not found or invalid credentials

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Not allowed

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Subscriber or subscription not found

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Subscription

Create a subscription

Create a subscription with a configuration of a destination and the list of events the destination wants to receive


REQUEST

post /api/v1/subscriber/{subscriber_id}/subscription

Path parameters

subscriber_id () • The unique identifier of the subscriber.

Query parameters

Ø

Headers

Authorization • Equal to 'Bearer xxx', `xxx` being the authentication token, see Authentication section

Content-type • Equal to 'application/json', no other value allowed

Accept • Equal to 'application/json', no other value allowed

Body
{
      "source": {
        "type": "string",
        "default": "pim"
      },
      "subject": {
        "type": "string",
        "format": "uri",
        "description": "Url of the PIM"
      },
      "event": {
        "type": "array",
        "description": "The list of event types that the subscription is configured to receive.",
        "items": {
          "type": "string"
        }
      },
      "type": {
        "type": "string",
        "description": "The destination type",
        "enum": [
          "pubsub",
          "https"
        ]
      },
      "config": {
        "description": "The configuration depending on the type of the subscription",
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "project_id": {
                "type": "string",
                "description": "Google project id"
              },
              "topic_id": {
                "type": "string",
                "description": "Google topic id"
              }
            },
            "example": {
              "project_id": "gcp-prd-project-name",
              "topic_id": "demo-integrations-events"
            }
          },
          {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "format": "uri",
                "description": "The https destination"
              },
              "secret": {
                "description": "Secrets used to sign the event",
                "type": "object",
                "required": [
                  "primary"
                ],
                "properties": {
                  "primary": {
                    "description": "Used to generate a signature of the event and add it as a request header X-AKENEO-SIGNATURE-PRIMARY",
                    "type": "string",
                    "minLength": 16,
                    "maxLength": 256
                  },
                  "secondary": {
                    "description": "Used to generate a signature of the event and add it as a request header X-AKENEO-SIGNATURE-SECONDARY, this secret is optional and can be used to rotate the primary secret",
                    "type": "string",
                    "minLength": 16,
                    "maxLength": 256
                  }
                }
              }
            },
            "example": {
              "url": null,
              "secret": {
                "primary": "thisisaprimarysecret",
                "secondary": "thisisasecondarysecret"
              }
            }
          }
        ]
      }
    }
Example
{
      "source": "pim",
      "subject": "https://mypim.cloud.akeneo.com",
      "event": [
        "com.akeneo.pim.v1.product.deleted"
      ],
      "type": "pubsub",
      "config": {
        "project_id": "gcp-prd-project-name",
        "topic_id": "demo-integrations-events"
      }
    }

RESPONSES

Returns the created subscription.

Body Format application/json
{
      "id": {
        "type": "string",
        "description": "The id of the subscription",
        "format": "uuid"
      },
      "subscriber_id": {
        "type": "string",
        "description": "The id of the subscriber this subscription is linked to",
        "format": "uuid"
      },
      "status": {
        "type": "string",
        "description": "status of the subscription",
        "default": "active",
        "enum": [
          "active",
          "deleted",
          "revoked",
          "suspended"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
Example
{
      "id": "018e1e57-8e96-7695-895e-34bb1f5c0614",
      "subscriber_id": "018e1e57-8e96-7695-895e-34bb1f5c1578",
      "status": "active",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2020-08-24T14:15:22Z",
      "source": "pim",
      "subject": "https://mypim.cloud.akeneo.com",
      "event": [
        "com.akeneo.pim.v1.product.deleted"
      ],
      "type": "pubsub",
      "config": {
        "project_id": "gcp-prd-project-name",
        "topic_id": "demo-integrations-events"
      }
    }

Bad request - the request payload was malformed

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Unauthorized - tenant context not found or invalid credentials

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Not allowed

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Subscriber or subscription not found

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Subscription is deleted

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Retrieve the list of all subscriptions for a specific subscriber


REQUEST

get /api/v1/subscriber/{subscriber_id}/subscription

Path parameters

subscriber_id () • Subscriber id

Query parameters

Ø

Headers

Authorization • Equal to 'Bearer xxx', `xxx` being the authentication token, see Authentication section

Content-type • Equal to 'application/json', no other value allowed

Accept • Equal to 'application/json', no other value allowed

Body

Ø


RESPONSES

Returns the list of subscriptions that are either active, suspended, or revoked.

Body Format application/json
{
      "allOf": [
        {
          "type": "object",
          "properties": {
            "source": {
              "type": "string",
              "default": "pim"
            },
            "subject": {
              "type": "string",
              "format": "uri",
              "description": "Url of the PIM"
            },
            "event": {
              "type": "array",
              "description": "The list of event types that the subscription is configured to receive.",
              "items": {
                "type": "string"
              }
            },
            "type": {
              "type": "string",
              "description": "The destination type",
              "enum": [
                "pubsub",
                "https"
              ]
            },
            "config": {
              "description": "The configuration depending on the type of the subscription",
              "oneOf": [
                {
                  "type": "object",
                  "properties": {
                    "project_id": {
                      "type": "string",
                      "description": "Google project id"
                    },
                    "topic_id": {
                      "type": "string",
                      "description": "Google topic id"
                    }
                  },
                  "example": {
                    "project_id": "gcp-prd-project-name",
                    "topic_id": "demo-integrations-events"
                  }
                },
                {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string",
                      "format": "uri",
                      "description": "The https destination"
                    },
                    "secret": {
                      "description": "Secrets used to sign the event",
                      "type": "object",
                      "required": [
                        "primary"
                      ],
                      "properties": {
                        "primary": {
                          "description": "Used to generate a signature of the event and add it as a request header X-AKENEO-SIGNATURE-PRIMARY",
                          "type": "string",
                          "minLength": 16,
                          "maxLength": 256
                        },
                        "secondary": {
                          "description": "Used to generate a signature of the event and add it as a request header X-AKENEO-SIGNATURE-SECONDARY, this secret is optional and can be used to rotate the primary secret",
                          "type": "string",
                          "minLength": 16,
                          "maxLength": 256
                        }
                      }
                    }
                  },
                  "example": {
                    "url": null,
                    "secret": {
                      "primary": "thisisaprimarysecret",
                      "secondary": "thisisasecondarysecret"
                    }
                  }
                }
              ]
            }
          },
          "example": {
            "source": "pim",
            "subject": "https://mypim.cloud.akeneo.com",
            "event": [
              "com.akeneo.pim.v1.product.deleted"
            ],
            "type": "pubsub",
            "config": {
              "project_id": "gcp-prd-project-name",
              "topic_id": "demo-integrations-events"
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The id of the subscription",
          "format": "uuid"
        },
        "subscriber_id": {
          "type": "string",
          "description": "The id of the subscriber this subscription is linked to",
          "format": "uuid"
        },
        "status": {
          "type": "string",
          "description": "status of the subscription",
          "default": "active",
          "enum": [
            "active",
            "deleted",
            "revoked",
            "suspended"
          ]
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        }
      },
      "example": {
        "id": "018e1e57-8e96-7695-895e-34bb1f5c0614",
        "subscriber_id": "018e1e57-8e96-7695-895e-34bb1f5c1578",
        "status": "active",
        "createdAt": "2019-08-24T14:15:22Z",
        "updatedAt": "2020-08-24T14:15:22Z",
        "source": "pim",
        "subject": "https://mypim.cloud.akeneo.com",
        "event": [
          "com.akeneo.pim.v1.product.deleted"
        ],
        "type": "pubsub",
        "config": {
          "project_id": "gcp-prd-project-name",
          "topic_id": "demo-integrations-events"
        }
      }
    }
Example

Ø

Unauthorized - tenant context not found or invalid credentials

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Not allowed

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Subscriber or subscription not found

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Get a subscription with by identifier.


REQUEST

get /api/v1/subscriber/{subscriber_id}/subscription/{id}

Path parameters

subscriber_id () • The unique identifier of the subscriber.

id () • The unique identifier of the subscription.

Query parameters

Ø

Headers

Authorization • Equal to 'Bearer xxx', `xxx` being the authentication token, see Authentication section

Content-type • Equal to 'application/json', no other value allowed

Accept • Equal to 'application/json', no other value allowed

Body

Ø


RESPONSES

Returns the subscription.

Body Format application/json
{
      "id": {
        "type": "string",
        "description": "The id of the subscription",
        "format": "uuid"
      },
      "subscriber_id": {
        "type": "string",
        "description": "The id of the subscriber this subscription is linked to",
        "format": "uuid"
      },
      "status": {
        "type": "string",
        "description": "status of the subscription",
        "default": "active",
        "enum": [
          "active",
          "deleted",
          "revoked",
          "suspended"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
Example
{
      "id": "018e1e57-8e96-7695-895e-34bb1f5c0614",
      "subscriber_id": "018e1e57-8e96-7695-895e-34bb1f5c1578",
      "status": "active",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2020-08-24T14:15:22Z",
      "source": "pim",
      "subject": "https://mypim.cloud.akeneo.com",
      "event": [
        "com.akeneo.pim.v1.product.deleted"
      ],
      "type": "pubsub",
      "config": {
        "project_id": "gcp-prd-project-name",
        "topic_id": "demo-integrations-events"
      }
    }

Unauthorized - tenant context not found or invalid credentials

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Not allowed

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Subscriber or subscription not found

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Update a subscription


REQUEST

patch /api/v1/subscriber/{subscriber_id}/subscription/{id}

Path parameters

subscriber_id () • The unique identifier of the subscriber.

id () • The unique identifier of the subscription.

Query parameters

Ø

Headers

Authorization • Equal to 'Bearer xxx', `xxx` being the authentication token, see Authentication section

Content-type • Equal to 'application/json', no other value allowed

Accept • Equal to 'application/json', no other value allowed

Body
{
      "source": {
        "type": "string",
        "default": "pim"
      },
      "subject": {
        "type": "string",
        "format": "uri",
        "description": "Url of the PIM"
      },
      "event": {
        "type": "array",
        "description": "The list of event types that the subscription is configured to receive.",
        "items": {
          "type": "string"
        }
      },
      "type": {
        "type": "string",
        "description": "The destination type",
        "enum": [
          "pubsub",
          "https"
        ]
      },
      "config": {
        "description": "The configuration depending on the type of the subscription",
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "project_id": {
                "type": "string",
                "description": "Google project id"
              },
              "topic_id": {
                "type": "string",
                "description": "Google topic id"
              }
            },
            "example": {
              "project_id": "gcp-prd-project-name",
              "topic_id": "demo-integrations-events"
            }
          },
          {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "format": "uri",
                "description": "The https destination"
              },
              "secret": {
                "description": "Secrets used to sign the event",
                "type": "object",
                "required": [
                  "primary"
                ],
                "properties": {
                  "primary": {
                    "description": "Used to generate a signature of the event and add it as a request header X-AKENEO-SIGNATURE-PRIMARY",
                    "type": "string",
                    "minLength": 16,
                    "maxLength": 256
                  },
                  "secondary": {
                    "description": "Used to generate a signature of the event and add it as a request header X-AKENEO-SIGNATURE-SECONDARY, this secret is optional and can be used to rotate the primary secret",
                    "type": "string",
                    "minLength": 16,
                    "maxLength": 256
                  }
                }
              }
            },
            "example": {
              "url": null,
              "secret": {
                "primary": "thisisaprimarysecret",
                "secondary": "thisisasecondarysecret"
              }
            }
          }
        ]
      }
    }
Example
{
      "source": "pim",
      "subject": "https://mypim.cloud.akeneo.com",
      "event": [
        "com.akeneo.pim.v1.product.deleted"
      ],
      "type": "pubsub",
      "config": {
        "project_id": "gcp-prd-project-name",
        "topic_id": "demo-integrations-events"
      }
    }

RESPONSES

Returns the updated subscription.

Body Format application/json
{
      "id": {
        "type": "string",
        "description": "The id of the subscription",
        "format": "uuid"
      },
      "subscriber_id": {
        "type": "string",
        "description": "The id of the subscriber this subscription is linked to",
        "format": "uuid"
      },
      "status": {
        "type": "string",
        "description": "status of the subscription",
        "default": "active",
        "enum": [
          "active",
          "deleted",
          "revoked",
          "suspended"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
Example
{
      "id": "018e1e57-8e96-7695-895e-34bb1f5c0614",
      "subscriber_id": "018e1e57-8e96-7695-895e-34bb1f5c1578",
      "status": "active",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2020-08-24T14:15:22Z",
      "source": "pim",
      "subject": "https://mypim.cloud.akeneo.com",
      "event": [
        "com.akeneo.pim.v1.product.deleted"
      ],
      "type": "pubsub",
      "config": {
        "project_id": "gcp-prd-project-name",
        "topic_id": "demo-integrations-events"
      }
    }

Unauthorized - tenant context not found or invalid credentials

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Not allowed

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Subscriber or subscription not found

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Delete a subscription


REQUEST

delete /api/v1/subscriber/{subscriber_id}/subscription/{id}

Path parameters

subscriber_id () • The unique identifier of the subscriber.

id () • The unique identifier of the subscription.

Query parameters

Ø

Headers

Authorization • Equal to 'Bearer xxx', `xxx` being the authentication token, see Authentication section

Content-type • Equal to 'application/json', no other value allowed

Accept • Equal to 'application/json', no other value allowed

Body

Ø


RESPONSES

Returns the deleted subscription.

Body Format application/json
{
      "id": {
        "type": "string",
        "description": "The id of the subscription",
        "format": "uuid"
      },
      "subscriber_id": {
        "type": "string",
        "description": "The id of the subscriber this subscription is linked to",
        "format": "uuid"
      },
      "status": {
        "type": "string",
        "description": "status of the subscription",
        "default": "active",
        "enum": [
          "active",
          "deleted",
          "revoked",
          "suspended"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
Example
{
      "id": "018e1e57-8e96-7695-895e-34bb1f5c0614",
      "subscriber_id": "018e1e57-8e96-7695-895e-34bb1f5c1578",
      "status": "active",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2020-08-24T14:15:22Z",
      "source": "pim",
      "subject": "https://mypim.cloud.akeneo.com",
      "event": [
        "com.akeneo.pim.v1.product.deleted"
      ],
      "type": "pubsub",
      "config": {
        "project_id": "gcp-prd-project-name",
        "topic_id": "demo-integrations-events"
      }
    }

Suspend a subscription


REQUEST

post /api/v1/subscriber/{subscriber_id}/subscription/{id}/suspend

Path parameters

subscriber_id () • The unique identifier of the subscriber.

id () • The unique identifier of the subscription.

Query parameters

Ø

Headers

Authorization • Equal to 'Bearer xxx', `xxx` being the authentication token, see Authentication section

Content-type • Equal to 'application/json', no other value allowed

Accept • Equal to 'application/json', no other value allowed

Body

Ø


RESPONSES

Returns the suspended subscription.

Body Format application/json
{
      "id": {
        "type": "string",
        "description": "The id of the subscription",
        "format": "uuid"
      },
      "subscriber_id": {
        "type": "string",
        "description": "The id of the subscriber this subscription is linked to",
        "format": "uuid"
      },
      "status": {
        "type": "string",
        "description": "status of the subscription",
        "default": "active",
        "enum": [
          "active",
          "deleted",
          "revoked",
          "suspended"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
Example
{
      "id": "018e1e57-8e96-7695-895e-34bb1f5c0614",
      "subscriber_id": "018e1e57-8e96-7695-895e-34bb1f5c1578",
      "status": "active",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2020-08-24T14:15:22Z",
      "source": "pim",
      "subject": "https://mypim.cloud.akeneo.com",
      "event": [
        "com.akeneo.pim.v1.product.deleted"
      ],
      "type": "pubsub",
      "config": {
        "project_id": "gcp-prd-project-name",
        "topic_id": "demo-integrations-events"
      }
    }

Unauthorized - tenant context not found or invalid credentials

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Not allowed

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Subscriber or subscription not found

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Subscription is deleted

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Resume a suspended subscription


REQUEST

post /api/v1/subscriber/{subscriber_id}/subscription/{id}/resume

Path parameters

subscriber_id () • The unique identifier of the subscriber.

id () • The unique identifier of the subscription.

Query parameters

Ø

Headers

Authorization • Equal to 'Bearer xxx', `xxx` being the authentication token, see Authentication section

Content-type • Equal to 'application/json', no other value allowed

Accept • Equal to 'application/json', no other value allowed

Body

Ø


RESPONSES

Returns the resumed subscription.

Body Format application/json
{
      "id": {
        "type": "string",
        "description": "The id of the subscription",
        "format": "uuid"
      },
      "subscriber_id": {
        "type": "string",
        "description": "The id of the subscriber this subscription is linked to",
        "format": "uuid"
      },
      "status": {
        "type": "string",
        "description": "status of the subscription",
        "default": "active",
        "enum": [
          "active",
          "deleted",
          "revoked",
          "suspended"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
Example
{
      "id": "018e1e57-8e96-7695-895e-34bb1f5c0614",
      "subscriber_id": "018e1e57-8e96-7695-895e-34bb1f5c1578",
      "status": "active",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2020-08-24T14:15:22Z",
      "source": "pim",
      "subject": "https://mypim.cloud.akeneo.com",
      "event": [
        "com.akeneo.pim.v1.product.deleted"
      ],
      "type": "pubsub",
      "config": {
        "project_id": "gcp-prd-project-name",
        "topic_id": "demo-integrations-events"
      }
    }

Unauthorized - tenant context not found or invalid credentials

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Not allowed

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Subscriber or subscription not found

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø

Subscription is deleted

Body Format application/json
{
      "errors": {
        "type": "array",
        "description": "List of errors",
        "items": {
          "properties": {
            "message": {
              "type": "string",
              "description": "The detail about the error"
            }
          }
        }
      }
    }
Example

Ø