---
updatedAt: 2025-10-08T22:06:52.000Z
agentTools:
  projectIndex: https://docs.quable.com/llms.txt
---

# Create a new Quable App

Creates a IntegrationApp resource.

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "title": "Quable PIM API documentation v5",
    "description": "# Pagination, Filtering, and Sorting\nMany times, a large number of results could be returned when making API calls. For that reason, one need to paginate the results, alongside allowing filtering and/or sorting in specific order, to make sure responses are easier to handle.\n## Pagination\nWhen available, pagination can be implemented using one or both of two query parameters:\n* limit to define the number of items returned in the response, and<br />\n* page to specify the *sequence* or *range* of the items list<br /><br />\nQuable API has a default limit of 100 for results (except on /assets, /documents, /classifications, /links and /variants endpoints), and start at page 1, but it is advised to always explicitly set at least the limit parameter.\n## Filtering\nMost API endpoints do allow basic filtering on several of their properties (one filter for one property).<br /> Possibility to filter on multiple values by using square brackets on those qualified.<br /> Example : /api/endpoint?id[]=value1&documentType.id[]=value2<br /><br />\nSome of them have a generic ‘**search**‘ filter available which allow a cross-properties filtering. Those properties may change over time, without warnings, when needed.<br /><br /> Filters should always be used as **query parameters**.<br /><br />\nSome of them accept a ‘**X-Quable-Locale**‘ header in order to specify the Locale on which filters must be applied.\n## Sorting\nSorting is determined through the use of the ‘**order**’ query string parameter.<br /> It use the square brackets to specify the property on which the sort must apply, and the supported sort directions, either ‘**asc**’ for ascending or ‘**desc**’ for descending, as value.<br /> Example : /api/endpoint?order[id]=asc<br /><br />\nBy default, the sort on translated properties like ‘name‘ is make on the **default language** of the PIM.<br /> This behavior can be overridden by passing the chosen - and available - **language** in the ‘**Accept-Language**‘ header parameter of the query.",
    "version": "2d049f10adc518320a4a4ebeb07b64db5b919923"
  },
  "servers": [
    {
      "url": "https://{instance_name}.quable.com/api",
      "description": ""
    }
  ],
  "paths": {
    "/quable-apps": {
      "post": {
        "operationId": "postIntegrationAppCollection",
        "tags": [
          "Integration"
        ],
        "responses": {
          "201": {
            "description": "IntegrationApp resource created",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationApp.IntegrationAppOutput.jsonld-integrationApp.output"
                }
              },
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationApp.IntegrationAppOutput-integrationApp.output"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationApp.IntegrationAppOutput-integrationApp.output"
                }
              },
              "text/html": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationApp.IntegrationAppOutput-integrationApp.output"
                }
              }
            },
            "links": {
              "GetIntegrationAppItem": {
                "operationId": "getIntegrationAppItem",
                "parameters": {
                  "code": "$response.body#/code",
                  "slug": "$response.body#/slug"
                },
                "description": "The values returned in the response can be used in `GET /quable-apps/{id}`."
              }
            }
          },
          "400": {
            "description": "Invalid input"
          },
          "422": {
            "description": "Unprocessable entity"
          }
        },
        "summary": "Create a new Quable App",
        "description": "Creates a IntegrationApp resource.",
        "parameters": [],
        "requestBody": {
          "description": "The new IntegrationApp resource",
          "content": {
            "application/ld+json": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationApp.IntegrationAppInput.jsonld-integrationApp.input.create"
              }
            },
            "application/hal+json": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationApp.IntegrationAppInput-integrationApp.input.create"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationApp.IntegrationAppInput-integrationApp.input.create"
              }
            },
            "text/html": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationApp.IntegrationAppInput-integrationApp.input.create"
              }
            }
          },
          "required": true
        },
        "deprecated": false
      },
      "parameters": []
    }
  },
  "components": {
    "schemas": {
      "DocumentType-integrationApp.output": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "pattern": "^(.*(^[\\w\\s/|_.,&+-]+$).*)$",
            "maxLength": 120,
            "$ref": "#/components/schemas/Identifier",
            "type": "string"
          }
        }
      },
      "DocumentType.jsonld-integrationApp.output": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "@context": {
            "readOnly": true,
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "properties": {
                  "@vocab": {
                    "type": "string"
                  },
                  "hydra": {
                    "type": "string",
                    "enum": [
                      "http://www.w3.org/ns/hydra/core#"
                    ]
                  }
                },
                "required": [
                  "@vocab",
                  "hydra"
                ],
                "additionalProperties": true
              }
            ]
          },
          "@id": {
            "readOnly": true,
            "type": "string"
          },
          "@type": {
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "pattern": "^(.*(^[\\w\\s/|_.,&+-]+$).*)$",
            "maxLength": 120,
            "$ref": "#/components/schemas/Identifier",
            "type": "string"
          }
        }
      },
      "EmbedDocumentTypeInput-integrationApp.input.create": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        }
      },
      "EmbedDocumentTypeInput.jsonld-integrationApp.input.create": {
        "type": "object",
        "properties": {
          "@context": {
            "readOnly": true,
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "properties": {
                  "@vocab": {
                    "type": "string"
                  },
                  "hydra": {
                    "type": "string",
                    "enum": [
                      "http://www.w3.org/ns/hydra/core#"
                    ]
                  }
                },
                "required": [
                  "@vocab",
                  "hydra"
                ],
                "additionalProperties": true
              }
            ]
          },
          "@id": {
            "readOnly": true,
            "type": "string"
          },
          "@type": {
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "type": "string"
          }
        }
      },
      "FontawesomeIcon": {
        "type": "string",
        "example": "globe",
        "description": "Fontawesome icon name : https://fontawesome.com/icons "
      },
      "HttpHeaders": {
        "type": "object",
        "example": {
          "Authorization": "Header value",
          "Content-Type": "Header value"
        },
        "properties": {
          "Authorization": {
            "type": "string"
          },
          "Content-Type": {
            "type": "string"
          }
        }
      },
      "Identifier": {
        "title": "Identifier",
        "type": "string",
        "description": "This is the unique identifier of the resource",
        "pattern": "^[\\w\\s\\/|_.,&+-]+$",
        "maxLength": 255,
        "example": "identifier_example"
      },
      "IntegrationApp.IntegrationAppInput-integrationApp.input.create": {
        "type": "object",
        "properties": {
          "slug": {
            "description": "Quable App slug",
            "example": "The slug must be unique.",
            "type": "string"
          },
          "documentType": {
            "description": "Mandatory for document application",
            "example": "my_app_slug",
            "nullable": true,
            "anyOf": [
              {
                "$ref": "#/components/schemas/EmbedDocumentTypeInput-integrationApp.input.create"
              }
            ]
          },
          "url": {
            "format": "uri",
            "example": "https://example.com/quable-app",
            "type": "string"
          },
          "parameters": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "$ref": "#/components/schemas/IntegrationAppType",
            "type": "string"
          },
          "headers": {
            "$ref": "#/components/schemas/HttpHeaders",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "payload": {
            "example": {
              "key": "value"
            },
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "icon": {
            "$ref": "#/components/schemas/FontawesomeIcon",
            "type": "string"
          },
          "slots": {
            "$ref": "#/components/schemas/IntegrationAppSlots",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "description": "Status of the Quable App",
            "example": true,
            "type": "boolean"
          },
          "helpDeskUrl": {
            "description": "URL for the Help Desk",
            "example": "https://support.example.com",
            "type": "string"
          },
          "documentationUrl": {
            "description": "URL for the Documentation",
            "example": "https://docs.example.com",
            "type": "string"
          },
          "permissionFeatures": {
            "$ref": "#/components/schemas/PermissionFeatures",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "$ref": "#/components/schemas/LanguageTranslation",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "description": {
            "$ref": "#/components/schemas/LanguageTranslation",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "IntegrationApp.IntegrationAppInput.jsonld-integrationApp.input.create": {
        "type": "object",
        "properties": {
          "@context": {
            "readOnly": true,
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "properties": {
                  "@vocab": {
                    "type": "string"
                  },
                  "hydra": {
                    "type": "string",
                    "enum": [
                      "http://www.w3.org/ns/hydra/core#"
                    ]
                  }
                },
                "required": [
                  "@vocab",
                  "hydra"
                ],
                "additionalProperties": true
              }
            ]
          },
          "@id": {
            "readOnly": true,
            "type": "string"
          },
          "@type": {
            "readOnly": true,
            "type": "string"
          },
          "slug": {
            "description": "Quable App slug",
            "example": "The slug must be unique.",
            "type": "string"
          },
          "documentType": {
            "description": "Mandatory for document application",
            "example": "my_app_slug",
            "nullable": true,
            "anyOf": [
              {
                "$ref": "#/components/schemas/EmbedDocumentTypeInput.jsonld-integrationApp.input.create"
              }
            ]
          },
          "url": {
            "format": "uri",
            "example": "https://example.com/quable-app",
            "type": "string"
          },
          "parameters": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "type": {
            "$ref": "#/components/schemas/IntegrationAppType",
            "type": "string"
          },
          "headers": {
            "$ref": "#/components/schemas/HttpHeaders",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "payload": {
            "example": {
              "key": "value"
            },
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "icon": {
            "$ref": "#/components/schemas/FontawesomeIcon",
            "type": "string"
          },
          "slots": {
            "$ref": "#/components/schemas/IntegrationAppSlots",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "description": "Status of the Quable App",
            "example": true,
            "type": "boolean"
          },
          "helpDeskUrl": {
            "description": "URL for the Help Desk",
            "example": "https://support.example.com",
            "type": "string"
          },
          "documentationUrl": {
            "description": "URL for the Documentation",
            "example": "https://docs.example.com",
            "type": "string"
          },
          "permissionFeatures": {
            "$ref": "#/components/schemas/PermissionFeatures",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "$ref": "#/components/schemas/LanguageTranslation",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "description": {
            "$ref": "#/components/schemas/LanguageTranslation",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "IntegrationApp.IntegrationAppOutput-integrationApp.output": {
        "type": "object",
        "properties": {
          "id": {
            "format": "uuid",
            "example": "c7ad508b-882d-4874-a00c-4b0eecb66e3d",
            "type": "string"
          },
          "slug": {
            "maxLength": 255,
            "example": "unique-slug",
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/IntegrationAppType",
            "type": "string"
          },
          "url": {
            "format": "uri",
            "example": "https://example.com/quable-app",
            "type": "string"
          },
          "headers": {
            "$ref": "#/components/schemas/HttpHeaders",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "payload": {
            "example": {
              "key": "value"
            },
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "documentType": {
            "nullable": true,
            "anyOf": [
              {
                "$ref": "#/components/schemas/DocumentType-integrationApp.output"
              }
            ]
          },
          "parameters": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "icon": {
            "$ref": "#/components/schemas/FontawesomeIcon",
            "type": "string",
            "nullable": true
          },
          "slots": {
            "$ref": "#/components/schemas/IntegrationAppSlots",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "description": "Status of the Quable App",
            "example": true,
            "type": "boolean"
          },
          "helpDeskUrl": {
            "description": "URL for the Help Desk",
            "example": "https://support.example.com",
            "type": "string"
          },
          "documentationUrl": {
            "description": "URL for the Documentation",
            "example": "https://docs.example.com",
            "type": "string"
          },
          "security": {
            "type": "object",
            "properties": {
              "appSecret": {
                "type": "string"
              }
            },
            "additionalProperties": {
              "type": "string"
            }
          },
          "permissionFeatures": {
            "$ref": "#/components/schemas/PermissionFeatures",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "$ref": "#/components/schemas/LanguageTranslation",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "description": {
            "$ref": "#/components/schemas/LanguageTranslation",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateModified": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "nullable": true,
            "anyOf": [
              {
                "$ref": "#/components/schemas/User.UserOutput-integrationApp.output"
              }
            ]
          },
          "updatedBy": {
            "nullable": true,
            "anyOf": [
              {
                "$ref": "#/components/schemas/User.UserOutput-integrationApp.output"
              }
            ]
          }
        }
      },
      "IntegrationApp.IntegrationAppOutput.jsonld-integrationApp.output": {
        "type": "object",
        "properties": {
          "@context": {
            "readOnly": true,
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "properties": {
                  "@vocab": {
                    "type": "string"
                  },
                  "hydra": {
                    "type": "string",
                    "enum": [
                      "http://www.w3.org/ns/hydra/core#"
                    ]
                  }
                },
                "required": [
                  "@vocab",
                  "hydra"
                ],
                "additionalProperties": true
              }
            ]
          },
          "@id": {
            "readOnly": true,
            "type": "string"
          },
          "@type": {
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "example": "c7ad508b-882d-4874-a00c-4b0eecb66e3d",
            "type": "string"
          },
          "slug": {
            "maxLength": 255,
            "example": "unique-slug",
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/IntegrationAppType",
            "type": "string"
          },
          "url": {
            "format": "uri",
            "example": "https://example.com/quable-app",
            "type": "string"
          },
          "headers": {
            "$ref": "#/components/schemas/HttpHeaders",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "payload": {
            "example": {
              "key": "value"
            },
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "documentType": {
            "nullable": true,
            "anyOf": [
              {
                "$ref": "#/components/schemas/DocumentType.jsonld-integrationApp.output"
              }
            ]
          },
          "parameters": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "icon": {
            "$ref": "#/components/schemas/FontawesomeIcon",
            "type": "string",
            "nullable": true
          },
          "slots": {
            "$ref": "#/components/schemas/IntegrationAppSlots",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "description": "Status of the Quable App",
            "example": true,
            "type": "boolean"
          },
          "helpDeskUrl": {
            "description": "URL for the Help Desk",
            "example": "https://support.example.com",
            "type": "string"
          },
          "documentationUrl": {
            "description": "URL for the Documentation",
            "example": "https://docs.example.com",
            "type": "string"
          },
          "security": {
            "type": "object",
            "properties": {
              "appSecret": {
                "type": "string"
              }
            },
            "additionalProperties": {
              "type": "string"
            }
          },
          "permissionFeatures": {
            "$ref": "#/components/schemas/PermissionFeatures",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "$ref": "#/components/schemas/LanguageTranslation",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "description": {
            "$ref": "#/components/schemas/LanguageTranslation",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateModified": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "nullable": true,
            "anyOf": [
              {
                "$ref": "#/components/schemas/User.UserOutput.jsonld-integrationApp.output"
              }
            ]
          },
          "updatedBy": {
            "nullable": true,
            "anyOf": [
              {
                "$ref": "#/components/schemas/User.UserOutput.jsonld-integrationApp.output"
              }
            ]
          }
        }
      },
      "IntegrationAppSlots": {
        "type": "array",
        "example": [
          "document.action.bulk",
          "document.action.single",
          "document.page.tab",
          "page"
        ],
        "enum": [
          "document.action.bulk",
          "document.action.single",
          "document.page.tab",
          "page"
        ]
      },
      "IntegrationAppType": {
        "type": "string",
        "example": "Custom",
        "enum": [
          "Custom",
          "AppStore"
        ]
      },
      "LanguageTranslation": {
        "type": "object",
        "description": "This structure does accept key & values where key has to be a language code configured in your PIM & the value is the value for this field in this language.",
        "properties": {
          "fr-FR": {
            "type": "string",
            "example": "fr-FR translation"
          },
          "en-US": {
            "type": "string",
            "example": "en-US translation"
          }
        },
        "additionalProperties": {
          "type": "string",
          "example": "additional translation"
        },
        "example": {
          "fr-FR": "fr-FR translation",
          "en-US": "en-US translation",
          "<*>": "..."
        }
      },
      "PermissionFeatures": {
        "type": "array",
        "example": [
          "contributor",
          "validator",
          "..."
        ],
        "items": {
          "type": "string",
          "description": "Permission Feature code"
        }
      },
      "User.UserOutput-integrationApp.output": {
        "type": "object",
        "properties": {
          "id": {
            "readOnly": true,
            "type": "integer"
          }
        }
      },
      "User.UserOutput.jsonld-integrationApp.output": {
        "type": "object",
        "properties": {
          "@context": {
            "readOnly": true,
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "properties": {
                  "@vocab": {
                    "type": "string"
                  },
                  "hydra": {
                    "type": "string",
                    "enum": [
                      "http://www.w3.org/ns/hydra/core#"
                    ]
                  }
                },
                "required": [
                  "@vocab",
                  "hydra"
                ],
                "additionalProperties": true
              }
            ]
          },
          "@id": {
            "readOnly": true,
            "type": "string"
          },
          "@type": {
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "readOnly": true,
            "type": "integer"
          }
        }
      }
    },
    "securitySchemes": {
      "apiKey": {
        "type": "apiKey",
        "description": "Value for the Authorization header parameter.",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "apiKey": []
    }
  ],
  "x-readme": {}
}
```