Freigeben über


Plugin service

When you develop an app for the Apps Marketplace, you build an umbrella app and then one or more specific app instances that plug into the workflow in different places. The Plugin Service allows you to create and control the umbrella app. For information about creating and managing app instances, see the Plugin Instance Service.

REST API

Note

There are three different user roles that can make calls to this service:

  • App Providers - Members who develop apps in the Apps Marketplace
  • App Subscribers - Members who subscribe to and use apps
  • Non-member Developers - App providers who are not associated to any member

Certain roles are restricted from making one or more calls. The roles that can make the calls are specified in the Description column in the table below.

HTTP Method Endpoint Description
POST https://api.appnexus.com/plugins
(plugin JSON)
Add an app.
- App providers.
PUT https://api.appnexus.com/plugin?id=PLUGIN_ID
(plugin JSON)
Modify an app.
- App providers.
GET https://api.appnexus.com/plugin View all apps.
- App Providers.
- App Subscribers (will only see apps to which they are associated).
- Non-member Developers (will only see apps to which they are associated).

Note: To view all apps that a member has installed, execute a GET call against the Member service. Locate the id field under plugins. All plugins that this member has installed (regardless of whether they are associated) are listed by plugin number.
GET https://api.appnexus.com/plugin?id=PLUGIN_ID View a specific app.
- App Providers.
- App Subscribers (will only see apps to which they are associated).
- Non-member Developers (will only see app if they are associated to it).
GET https://api.appnexus.com/plugin?developer_id=DEVELOPER_ID View all apps created by a specific subscriber, developer, or non-member developer.
- App Subscribers.
- App Providers.
- Non-member Developers.

Note: If you cannot see apps that you have created, contact your Xandr representative.
DELETE https://api.appnexus.com/plugin Delete an app.
- App Providers

JSON fields

Field Type Description
addendum string Read-only. Contains the text of the addendum terms for the app.

Default: null
allowed_asset_count int Read-only. Indicates the number of images that can be associated to an app. This cannot exceed five (5). These images are defined in the App-Asset service (Admin only).
author_display_name string The author name that is displayed below the name of the app on the main Apps Marketplace page and in the More Info dialog.

Default: null

See Images.
click_to_install boolean Indicates whether the install option on the Apps Marketplace UI screen is functional.

Default: false
contact_email string The email address that you can use to contact the app developer. This appears on the Fee Details screen.

Default: null
contact_name string The name of the app developer. This appears on the Fee Details screen.

Default: null
contact_phone string The phone number that you can use to contact the app developer. This appears on the Fee Details screen.

Default: null
contact_text string This is any additional text that usually providers more information about the app developer. This appears on the Fee Details screen.

Default: null
description string The description of the app that is displayed in the More Info dialog.
developer object The developer of the app. For more information, see Developer below.

Required On: POST
domains array of objects The sites to which Apps Marketplace will look to see if a user is already logged into. For more information, see Domains below.

Default: null
featured boolean Read-only. Indicates whether the app is listed in the carousel area of the available apps.

Default: false
has_payment_access boolean Read-only. Indicates whether payment terms and fees can be applied to this app.

Default: true
id int The ID of the app.

Default: Auto-generated number
Required On: PUT/DELETE, in query string
is_available boolean If true, the app is exposed to members in the Apps Marketplace by default. You can use the member_availabilities field to override this setting for specific members. For example, if you wanted to expose the app only to specific clients, you would set is_available to false and then use member_availabilities to expose the app to those specific clients. For more details, see Member Availabilities below.

Default: false
log_level_data_fee int Read-only. The dollar amount charged to the member consuming log-level data.

Default: null
Required On: This field can only be updated through the App Contract Service.
member_availabilities array of objects This setting indicates if this app is available to certain members or restricted from certain members. This value will override the setting is_available. For more information, see Member Availabilities below.
moreinfo_url string The URL of the app used for demo purposes.

Default: null
name string The name of the app that is displayed on the main Apps Marketplace page and in the More Info dialog.

Required On: POST
permissions array of objects The operations that the app can perform on behalf of the currently logged in user. For more information, see Permissions below.

Default: null
plugin_category_id int The identification number of the category to which this app will be assigned. Note that if you select a number that is a sub-level category, this app will automatically be assigned to both this category and the associate parent category. If you enter a parent category, however, the app belongs only to that one and not to any sub-level category.

Default: null
plugin-instances array of objects Read-only. The specific instances associated to the app. For more information about app instances, see the Plugin Instance Service.

Default: null
public_key string The public key of the public/private key pair for authenticating the app.
recommended boolean Read-only. Indicates whether the app is listed in the Recommended Apps row of the Apps Marketplace screen.

Default: false
summary string The description of the app that is displayed on the main Apps Marketplace page.

Default: null
video_url string The URL of the tutorial video for this app. Must be Vimeo hosted.

Default: null

Images for author_display_name

Screenshot one showing the author name displayed in the selected app on the main Apps Marketplace page.

Screenshot two showing the author name displayed in the app's Description panel.

Developer

The developer object contains the following fields:

Field Type Description
id int The ID of the developer that built the app. You can use the Developer Service to retrieve this ID.

Required On: POST
name string Read-only. The name of the developer that built the app.

Domains

The domains object contains the following field:

Field Type Description
name string The domain name of the site to which Apps Marketplace will look to see if a user is logged on.

Default: null

Permissions

Each object in the permissions array contains the following fields:

Field Type Description
privileges array of objects The types of calls that the app can make to the API service and the specific fields that can be used. See Example
Within each object, method defines the calls that can be made to the service ("get", "post", "put", or "delete"), and fields restricts the permissions to particular fields in the service. If fields are null, the permissions apply to all fields in the service. Note that use of the "delete" method must be approved by an Xandr representative.
service enum The name of the API service that the app is permitted to use.

Example for privileges

{
"method": "get",
"fields": null
}

Member availabilities

The main is_available field defines whether or not the app is exposed to all members by default. You can use the member_availabilities field to override this default for specific members. For example, if you wanted to expose the app only to select members, you would set is_available to false and then use member_availabilities to expose the app to those specific members.

Each object in the member_availabilities array contains the following fields:

Field Type Description
id int The ID of the member.

Required On: POST/PUT, if passing main is_available field.
is_available boolean If true, the app is exposed to the member.

Required On: POST/PUT, if passing id.

Examples

Add an app

$ cat add-plugin.json
{
    "plugin":
 {
        "name": "JMS November App",
        "description": "This is a test for an app created by another user.",
        "public_key": "-----BEGIN PUBLIC KEY-----\nMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL88J0hPSmfYfKmWw\/y4xwdeTZsbwDeU\n\ 
                 /vkE+r88KaVJ0gG7K8BT+0nhfeOalrw\/EfX\/ta0YWxRb\/\/Yco39MbssCAwEAAQ==\n-----END PUBLIC KEY-----",
        "moreinfo_url": null,
        "is_available": "true",
        "summary": "The Test App does something great.",
        "contact_name": "The Test Application",
        "contact_phone": "1-800-TESTAPP",
        "contact_email": "hello@testapp.com",
        "contact_text": "Support email: support@testapp.com",
        "author_display_name": "Test App #2555",
        "developer":
 {
            "id": 7
        },
        "permissions":
[
            {
                "service": "segment",
                "privileges":
[
                    {
                        "method": "post",
                        "fields": null
                    }
                ]
            }
        ]
    }
}
$ curl -b cookies -c cookies -X POST -d @add-plugin.json 'https://api.appnexus.com/plugin' | json-pp
{
    "response":{
        "status":"OK",
        "count":1,
        "id":142,
        "start_element":0,
        "num_elements":100,
                "plugin":{
            "id":142,
            "name":"JMS November App",
            "description":"This is a test for an app created by another user.",
            "public_key":"-----BEGIN PUBLIC KEY-----             
                         \nMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL88J0hPSmfYfKmWw\/y4xwdeTZsbwDeU\n\/
                         vkE+r88KaVJ0gG7K8BT+0nhfeOalrw\/EfX\/ta0YWxRb\/\/Yco39MbssCAwEAAQ==\n-----END PUBLIC KEY-----",
            "moreinfo_url":null,
            "log_level_data_fee":null,
            "plugin_category_id":null,
            "is_available":false,
            "summary":"The Test App does something great.",
            "contact_name":"The Test Application",
            "contact_phone":"1-800-TESTAPP",
            "contact_email":"hello@testapp.com",
            "contact_text":"Support email: support@testapp.com",
            "author_display_name":"Test App #2555",
            "recommended":false,
            "featured":false,
            "has_payment_access":false,
            "is_frozen":false,
            "allowed_asset_count":5,
            "addendum":null,
            "click_to_install":false,
            "video_url":null,
            "developer":{
                "id":14,
                "name":"taylortest"
            },
            "domains":null,
            "permissions":[
                {
                    "service":"segment",
                    "privileges":[
                        {
                            "method":"post",
                            "fields":null
                        }
                    ],
                    "methods":[
                        "post"
                    ]
                }
            ],
            "plugin-instances":null,
            "member_availabilities":null
        },
        "dbg_info":{
            ...
        }
    }
}

Modify an app

$ cat modify-plugin2.json
{
    "plugin": {
       "plugin_category_id": "33",
       "flavor": "converson_pixel"
    }
}
$ curl -b cookies -c cookies -X PUT -d @modify-plugin2.json 'https://api.appnexus.com/plugin?id=104' | json-pp
{
    "response":{
        "status":"OK",
        "count":1,
        "id":"104",
        "start_element":0,
        "num_elements":100,
        "plugin":{
            "id":104,
            "name":"JMS app",
            "description":"This is a test for an app created by a user.",
            "public_key":"",
            "moreinfo_url":null,
            "log_level_data_fee":null,
            "plugin_category_id":33,
            "is_available":false,
            "summary":"The Test App does something great.",
            "contact_name":"The Test Application",
            "contact_phone":"1-800-TESTAPP",
            "contact_email":"hello@testapp.com",
            "contact_text":"Support email: support@testapp.com",
            "author_display_name":"Test App #2000",
            "recommended":true,
            "featured":false,
            "has_payment_access":false,
            "is_frozen":false,
            "allowed_asset_count":5,
            "addendum":null,
            "click_to_install":false,
            "video_url":null,
            "developer":{
                "id":7,
                "name":"John Smith"
            },
            "domains":null,
            "permissions":[
                {
                    "service":"advertiser",
                    "privileges":[
                        {
                            "method":"post",
                            "fields":null
                        },
                        {
                            "method":"delete",
                            "fields":[
                                "code",
                                "id"
                            ]
                        }
                    ],
                    "methods":[
                        "post",
                        "delete"
                    ]
                },
                {
                    "service":"campaign",
                    "privileges":[
                        {
                            "method":"post",
                            "fields":null
                        },
                        {
                            "method":"delete",
                            "fields":[
                                "code",
                                "id"
                            ]
                        }
                    ],
                    "methods":[
                        "post",
                        "delete"
                    ]
                },
                {
                    "service":"insertion-order",
                    "privileges":[
                        {
                            "method":"post",
                            "fields":null
                        },
                        {
                            "method":"delete",
                            "fields":[
                                "code",
                                "id"
                            ]
                        }
                    ],
                    "methods":[
                        "post",
                        "delete"
                    ]
                },
                {
                    "service":"line-item",
                    "privileges":[
                        {
                            "method":"post",
                            "fields":null
                        },
                        {
                            "method":"delete",
                            "fields":[
                                "code",
                                "id"
                            ]
                        }
                    ],
                    "methods":[
                        "post",
                        "delete"
                    ]
                },
                {
                    "service":"publisher",
                    "privileges":[
                        {
                            "method":"post",
                            "fields":null
                        },
                        {
                            "method":"delete",
                            "fields":[
                                "code",
                                "id"
                            ]
                        }
                    ],
                    "methods":[
                        "post",
                        "delete"
                    ]
                },
                {
                    "service":"site",
                    "privileges":[
                        {
                            "method":"post",
                            "fields":null
                        },
                        {
                            "method":"delete",
                            "fields":[
                                "code",
                                "id"
                            ]
                        }
                    ],
                    "methods":[
                        "post",
                        "delete"
                    ]
                }
            ],
            "plugin-instances":[
                {
                    "id":167,
                    "plugin_id":104,
                    "flavor":"standalone",
                    "iframe_url":"https:\/\/localhost\/app\/",
                    "js_api_version":"1.1",
                    "name":"testy test",
                    "description":"TBD",
                    "icon_url":"https:\/\/localhost\/app\/",
                    "proxy_url":"https:\/\/google.com"
                }
            ],
            "member_availabilities":[
                {
                    "id":185,
                    "is_available":true
                },
                {
                    "id":324,
                    "is_available":true
                },
                {
                    "id":1066,
                    "is_available":true
                }
            ]
        },
        "dbg_info":{
            ...
        }
    }
}

View all apps

$ curl -b cookies -c cookies 'https://api.appnexus.com/plugin' | json-pp
{
    "response":{
        "status":"OK",
        "count":14,
        "start_element":0,
        "num_elements":100,
        "plugins":[
            {
                "id":2,
                "name":"Example Plugin 1",
                "description":"This is an example full description.  It should support <span style='color: green'>HTML<\/span>.
                                 <br><br>\nThis plugin does the following when installed:\n<ul><li>Nothing.<\/li><\/ul>",
                "public_key":"-----BEGIN PUBLIC KEY-----\nMEwwDQYJKoZIhvcNAQEBBQADOwAwOAIxAL7yOpVHyI0JnHZxa4UKJrenZpjNFLV0\      
                                 nBaAfRbmp5xMrHYIHZXdYplyEOeLw8\/y2TQIDAQAB\n-----END PUBLIC KEY-----",
                "moreinfo_url":null,
                "log_level_data_fee":null,
                "plugin_category_id":null,
                "is_available":false,
                "summary":"Manage first party data, buy third party data and build custom audiences that are immediately 
                                 available to target 
                                 inventory.",
                "contact_name":"Sam",
                "contact_phone":"",
                "contact_email":"smati@example.com",
                "contact_text":"",
                "author_display_name":"Mr. Example",
                "recommended":false,
                "featured":false,
                "has_payment_access":false,
                "is_frozen":false,
                "allowed_asset_count":5,
                "addendum":null,
                "click_to_install":false,
                "video_url":null,
                "developer":{
                    "id":1,
                    "name":"Xandr,
                     Inc."
                },
                "domains":null,
                "permissions":[
                    {
                        "service":"user",
                        "privileges":[
                            {
                                "method":"get",
                                "fields":[
                                    "entity_name"
                                ]
                            }
                        ],
                        "methods":[
                            "get"
                        ]
                    },
                    {
                        "service":"profile",
                        "privileges":[
                            {
                                "method":"get",
                                "fields":[
                                    "daypart_timezone"
                                ]
                            }
                        ],
                        "methods":[
                            "get"
                        ]
                    },
                    {
                        "service":"campaign",
                        "privileges":[
                            {
                                "method":"put",
                                "fields":[
                                    "profile_id"
                                ]
                            }
                        ],
                        "methods":[
                            "put"
                        ]
                    },
                    {
                        "service":"saved-report",
                        "privileges":[
                            {
                                "method":"get",
                                "fields":[
                                    "id"
                                ]
                            }
                        ],
                        "methods":[
                            "get"
                        ]
                    },
                    {
                        "service":"not-real-service",
                        "privileges":[
                            {
                                "method":"get",
                                "fields":[
                                    "id"
                                ]
                            }
                        ],
                        "methods":[
                            "get"
                        ]
                    }
                ],
                "plugin-instances":[
                    {
                        "id":7,
                        "plugin_id":2,
                        "flavor":"standalone",
                        "iframe_url":"https:\/\/xandr.com\/contact\/",
                        "js_api_version":"",
                        "name":"Plugin 1",
                        "description":"",
                        "icon_url":"https:\/\/abc.example.com\/download\/attachments\/34406872\/an-labs-symbol.png?
                                                 version=1&modificationDate=1327610813446",
                        "proxy_url":"https:\/\/www.xandr.com"
                    }
                ],
                "member_availabilities":[
                    {
                        "id":185,
                        "is_available":true
                    },
                    {
                        "id":326,
                        "is_available":true
                    },
                    {
                        "id":709,
                        "is_available":true
                    },
                    {
                        "id":884,
                        "is_available":true
                    }
                ]
            },
            {
                "id":3,
                "name":"Example Plugin 2",
                "description":"Lorem ipsum...",
                "public_key":"-----BEGIN PUBLIC KEY-----\nMEwwDQYJKoZIhvcNAQEBBQADOwAwOAIxANoHW5tUyLrWXo0fBe6KuxQFLgcyIU1X\ 
                                 n6hW9OUPU1vFBITj7LcCVg5RbRM7wV+TClwIDAQAB\n-----END PUBLIC KEY-----",
                "moreinfo_url":null,
                "log_level_data_fee":null,
                "plugin_category_id":null,
                "is_available":false,
                "summary":"",
                "contact_name":"",
                "contact_phone":"",
                "contact_email":"",
                "contact_text":"",
                "author_display_name":"",
                "recommended":false,
                "featured":false,
                "has_payment_access":false,
                "is_frozen":false,
                "allowed_asset_count":5,
                "addendum":null,
                "click_to_install":false,
                "video_url":null,
                "developer":{
                    "id":1,
                    "name":"Xandr,
                     Inc."
                },
                "domains":null,
                "permissions":null,
                "plugin-instances":[
                    {
                        "id":8,
                        "plugin_id":3,
                        "flavor":"standalone",
                        "iframe_url":"https:\/\/xandr.com\/contact\/",
                        "js_api_version":"",
                        "name":"Plugin 2",
                        "description":"",
                        "icon_url":"https:\/\/www.xandr.com\/favicon.ico",
                        "proxy_url":"https:\/\/www.xandr.com"
                    }
                ],
                "member_availabilities":[
                    {
                        "id":185,
                        "is_available":true
                    },
                    {
                        "id":326,
                        "is_available":true
                    },
                    {
                        "id":709,
                        "is_available":true
                    },
                    {
                        "id":884,
                        "is_available":true
                    }
                ]
            },

View a specific app

$ curl -b cookies -c cookies 'https://api.appnexus.com/plugin?id=104' | json-pp
{
    "response":{
        "status":"OK",
        "count":1,
        "start_element":0,
        "num_elements":100,
        "plugin":{
            "id":104,
            "name":"JMS app",
            "description":"This is a test for an app created by a user.",
            "public_key":"",
            "moreinfo_url":null,
            "log_level_data_fee":null,
            "plugin_category_id":33,
            "is_available":false,
            "summary":"The Test App does something great.",
            "contact_name":"The Test Application",
            "contact_phone":"1-800-TESTAPP",
            "contact_email":"hello@testapp.com",
            "contact_text":"Support email: support@testapp.com",
            "author_display_name":"Test App #2000",
            "recommended":true,
            "featured":false,
            "has_payment_access":false,
            "is_frozen":false,
            "allowed_asset_count":5,
            "addendum":null,
            "click_to_install":false,
            "video_url":null,
            "developer":{
                "id":7,
                "name":"John Smith"
            },
            "domains":null,
            "permissions":[
                {
                    "service":"advertiser",
                    "privileges":[
                        {
                            "method":"post",
                            "fields":null
                        },
                        {
                            "method":"delete",
                            "fields":[
                                "code",
                                "id"
                            ]
                        }
                    ],
                    "methods":[
                        "post",
                        "delete"
                    ]
                },
                {
                    "service":"campaign",
                    "privileges":[
                        {
                            "method":"post",
                            "fields":null
                        },
                        {
                            "method":"delete",
                            "fields":[
                                "code",
                                "id"
                            ]
                        }
                    ],
                    "methods":[
                        "post",
                        "delete"
                    ]
                },
                {
                    "service":"insertion-order",
                    "privileges":[
                        {
                            "method":"post",
                            "fields":null
                        },
                        {
                            "method":"delete",
                            "fields":[
                                "code",
                                "id"
                            ]
                        }
                    ],
                    "methods":[
                        "post",
                        "delete"
                    ]
                },
                {
                    "service":"line-item",
                    "privileges":[
                        {
                            "method":"post",
                            "fields":null
                        },
                        {
                            "method":"delete",
                            "fields":[
                                "code",
                                "id"
                            ]
                        }
                    ],
                    "methods":[
                        "post",
                        "delete"
                    ]
                },
                {
                    "service":"publisher",
                    "privileges":[
                        {
                            "method":"post",
                            "fields":null
                        },
                        {
                            "method":"delete",
                            "fields":[
                                "code",
                                "id"
                            ]
                        }
                    ],
                    "methods":[
                        "post",
                        "delete"
                    ]
                },
                {
                    "service":"site",
                    "privileges":[
                        {
                            "method":"post",
                            "fields":null
                        },
                        {
                            "method":"delete",
                            "fields":[
                                "code",
                                "id"
                            ]
                        }
                    ],
                    "methods":[
                        "post",
                        "delete"
                    ]
                }
            ],
            "plugin-instances":[
                {
                    "id":167,
                    "plugin_id":104,
                    "flavor":"standalone",
                    "iframe_url":"https:\/\/localhost\/app\/",
                    "js_api_version":"1.1",
                    "name":"testy test",
                    "description":"TBD",
                    "icon_url":"https:\/\/localhost\/app\/",
                    "proxy_url":"https:\/\/google.com"
                }
            ],
            "member_availabilities":[
                {
                    "id":185,
                    "is_available":true
                },
                {
                    "id":324,
                    "is_available":true
                },
                {
                    "id":1066,
                    "is_available":true
                }
            ]
        },
        "dbg_info":{
            ...
        }
    }
}

View all apps created by a specific subscriber, developer, or non-member developer

$ curl -b cookies -c cookies 'https://api.appnexus.com/plugin?developer_id=7' | json-pp
{
    "response":{
        "status":"OK",
        "count":13,
        "start_element":0,
        "num_elements":100,
        "plugins":[
            "id":89,
                "name":"John M. Schneider III App",
                "description":"This is a test for an app created by a user.",
                "public_key":"",
                "moreinfo_url":null,
                "log_level_data_fee":null,
                "plugin_category_id":null,
                "is_available":false,
                "summary":"The Test App does something great.",
                "contact_name":"Test App person",
                "contact_phone":"1-800-TESTAPP",
                "contact_email":"hello@testapp.com",
                "contact_text":"Support email: support@testapp.com",
                "author_display_name":"Test App Creator",
                "recommended":false,
                "featured":false,
                "has_payment_access":false,
                "is_frozen":false,
                "allowed_asset_count":5,
                "addendum":null,
                "click_to_install":false,
                "video_url":null,
                "developer":{
                    "id":7,
                    "name":"John Smith"
                },
                "domains":null,
                "permissions":[
                    {
                        "service":"segment",
                        "privileges":[
                            {
                                "method":"post",
                                "fields":null
                            }
                        ],
                        "methods":[
                            "post"
                        ]
                    }
                ],
                "plugin-instances":null,
                "member_availabilities":[
                    {
                        "id":1066,
                        "is_available":true
                    }
                ]
            },
            {
                "id":99,
                "name":"John M. Schneider Jr",
                "description":"This is a test for an app created by a user.",
                "public_key":"",
                "moreinfo_url":null,
                "log_level_data_fee":null,
                "plugin_category_id":null,
                "is_available":false,
                "summary":"The Test App does something great.",
                "contact_name":"The Test App JMS",
                "contact_phone":"1-800-TESTAPP",
                "contact_email":"hello@testapp.com",
                "contact_text":"Support email: support@testapp.com",
                "author_display_name":"Test App JMS",
                "recommended":false,
                "featured":false,
                "has_payment_access":false,
                "is_frozen":false,
                "allowed_asset_count":5,
                "addendum":null,
                "click_to_install":false,
                "video_url":null,
                "developer":{
                    "id":7,
                    "name":"John Smith"
                },
                "domains":null,
                "permissions":[
                    {
                        "service":"segment",
                        "privileges":[
                            {
                                "method":"post",
                                "fields":null
                            }
                        ],
                        "methods":[
                            "post"
                        ]
                    }
                ],
                "plugin-instances":null,
                "member_availabilities":[
                    {
                        "id":1066,
                        "is_available":true
                    }
                ]
            },
            {
                "id":100,
                "name":"Napoleon Boneparte",
                "description":"This is a test for an app created by a user.",
                "public_key":"",
                "moreinfo_url":null,
                "log_level_data_fee":null,
                "plugin_category_id":null,
                "is_available":false,
                "summary":"The Test App does something great.",
                "contact_name":"The Test App JMS",
                "contact_phone":"1-800-TESTAPP",
                "contact_email":"hello@testapp.com",
                "contact_text":"Support email: support@testapp.com",
                "author_display_name":"Test App JMS",
                "recommended":false,
                "featured":false,
                "has_payment_access":false,
                "is_frozen":false,
                "allowed_asset_count":5,
                "addendum":null,
                "click_to_install":false,
                "video_url":null,
                "developer":{
                    "id":7,
                    "name":"John Smith"
                },
                "domains":null,
                "permissions":[
                    {
                        "service":"segment",
                        "privileges":[
                            {
                                "method":"post",
                                "fields":null
                            }
                        ],
                        "methods":[
                            "post"
                        ]
                    }
                ],
                "plugin-instances":null,
                "member_availabilities":[
                    {
                        "id":1066,
                        "is_available":true
                    }
                ]
            },
            {
                "id":101,
                "name":"November Test App",
                "description":"This is a test for an app created by a user.",
                "public_key":"",
                "moreinfo_url":null,
                "log_level_data_fee":null,
                "plugin_category_id":null,
                "is_available":false,
                "summary":"The Test App does something great.",
                "contact_name":"The Test Application",
                "contact_phone":"1-800-TESTAPP",
                "contact_email":"hello@testapp.com",
                "contact_text":"Support email: support@testapp.com",
                "author_display_name":"Test App JMS",
                "recommended":false,
                "featured":false,
                "has_payment_access":false,
                "is_frozen":false,
                "allowed_asset_count":5,
                "addendum":null,
                "click_to_install":false,
                "video_url":null,
                "developer":{
                    "id":7,
                    "name":"John Smith"
                },
                "domains":null,
                "permissions":[
                    {
                        "service":"segment",
                        "privileges":[
                            {
                                "method":"post",
                                "fields":null
                            }
                        ],
                        "methods":[
                            "post"
                        ]
                    }
                ],
                "plugin-instances":null,
                "member_availabilities":[
                    {
                        "id":1066,
                        "is_available":true
                    }
                ]
            },
            {
                "id":102,
                "name":"JMS app",
                "description":"This is a test for an app created by a user.",
                "public_key":"",
                "moreinfo_url":null,
                "log_level_data_fee":null,
                "plugin_category_id":null,
                "is_available":false,
                "summary":"The Test App does something great.",
                "contact_name":"The Test Application",
                "contact_phone":"1-800-TESTAPP",
                "contact_email":"hello@testapp.com",
                "contact_text":"Support email: support@testapp.com",
                "author_display_name":"Test App for John",
                "recommended":false,
                "featured":false,
                "has_payment_access":false,
                "is_frozen":false,
                "allowed_asset_count":5,
                "addendum":null,
                "click_to_install":false,
                "video_url":null,
                "developer":{
                    "id":7,
                    "name":"John Smith"
                },
                "domains":null,
                "permissions":[
                    {
                        "service":"segment",
                        "privileges":[
                            {
                                "method":"post",
                                "fields":null
                            }
                        ],
                        "methods":[
                            "post"
                        ]
                    }
                ],
                "plugin-instances":null,
                "member_availabilities":[
                    {
                        "id":1066,
                        "is_available":true
                    }
                ]
            },
            {
                "id":104,
                "name":"JMS app",
                "description":"This is a test for an app created by a user.",
                "public_key":"",
                "moreinfo_url":null,
                "log_level_data_fee":null,
                "plugin_category_id":33,
                "is_available":false,
                "summary":"The Test App does something great.",
                "contact_name":"The Test Application",
                "contact_phone":"1-800-TESTAPP",
                "contact_email":"hello@testapp.com",
                "contact_text":"Support email: support@testapp.com",
                "author_display_name":"Test App #2000",
                "recommended":true,
                "featured":false,
                "has_payment_access":false,
                "is_frozen":false,
                "allowed_asset_count":5,
                "addendum":null,
                "click_to_install":false,
                "video_url":null,
                "developer":{
                    "id":7,
                    "name":"John Smith"
                },
                "domains":null,
                "permissions":[
                    {
                        "service":"advertiser",
                        "privileges":[
                            {
                                "method":"post",
                                "fields":null
                            },
                            {
                                "method":"delete",
                                "fields":[
                                    "code",
                                    "id"
                                ]
                            }
                        ],
                        "methods":[
                            "post",
                            "delete"
                        ]
                    },
                    {
                        "service":"campaign",
                        "privileges":[
                            {
                                "method":"post",
                                "fields":null
                            },
                            {
                                "method":"delete",
                                "fields":[
                                    "code",
                                    "id"
                                ]
                            }
                        ],
                        "methods":[
                            "post",
                            "delete"
                        ]
                    },
                    {
                        "service":"insertion-order",
                        "privileges":[
                            {
                                "method":"post",
                                "fields":null
                            },
                            {
                                "method":"delete",
                                "fields":[
                                    "code",
                                    "id"
                                ]
                            }
                        ],
                        "methods":[
                            "post",
                            "delete"
                        ]
                    },
                    {
                        "service":"line-item",
                        "privileges":[
                            {
                                "method":"post",
                                "fields":null
                            },
                            {
                                "method":"delete",
                                "fields":[
                                    "code",
                                    "id"
                                ]
                            }
                        ],
                        "methods":[
                            "post",
                            "delete"
                        ]
                    },
                    {
                        "service":"publisher",
                        "privileges":[
                            {
                                "method":"post",
                                "fields":null
                            },
                            {
                                "method":"delete",
                                "fields":[
                                    "code",
                                    "id"
                                ]
                            }
                        ],
                        "methods":[
                            "post",
                            "delete"
                        ]
                    },
                    {
                        "service":"site",
                        "privileges":[
                            {
                                "method":"post",
                                "fields":null
                            },
                            {
                                "method":"delete",
                                "fields":[
                                    "code",
                                    "id"
                                ]
                            }
                        ],
                        "methods":[
                            "post",
                            "delete"
                        ]
                    }
                ],
                "plugin-instances":[
                    {
                        "id":167,
                        "plugin_id":104,
                        "flavor":"standalone",
                        "iframe_url":"https:\/\/localhost\/app\/",
                        "js_api_version":"1.1",
                        "name":"testy test",
                        "description":"TBD",
                        "icon_url":"https:\/\/localhost\/app\/",
                        "proxy_url":"https:\/\/google.com"
                    }
                ],
                "member_availabilities":[
                    {
                        "id":185,
                        "is_available":true
                    },
                    {
                        "id":324,
                        "is_available":true
                    },
                    {
                        "id":1066,
                        "is_available":true
                    }
                ]
            },
            {
                "id":111,
                "name":"JMS December App",
                "description":"This is a test for an app created by a user.",
                "public_key":"",
                "moreinfo_url":null,
                "log_level_data_fee":null,
                "plugin_category_id":null,
                "is_available":false,
                "summary":"The Test App does something great.",
                "contact_name":"The Test Application",
                "contact_phone":"1-800-TESTAPP",
                "contact_email":"hello@testapp.com",
                "contact_text":"Support email: support@testapp.com",
                "author_display_name":"Test App #2555",
                "recommended":false,
                "featured":false,
                "has_payment_access":false,
                "is_frozen":false,
                "allowed_asset_count":5,
                "addendum":null,
                "click_to_install":false,
                "video_url":null,
                "developer":{
                    "id":7,
                    "name":"John Smith"
                },
                "domains":null,
                "permissions":[
                    {
                        "service":"segment",
                        "privileges":[
                            {
                                "method":"post",
                                "fields":null
                            }
                        ],
                        "methods":[
                            "post"
                        ]
                    }
                ],
                "plugin-instances":null,
                "member_availabilities":[
                    {
                        "id":1066,
                        "is_available":true
                    }
                ]
            }
        ],
        "dbg_info":{
            ...
        }
    }
}

Delete an app

$ curl -b cookies -c cookies -X DELETE 'https://api.appnexus.com/plugin?id=80' | json-pp
{
    "response":{
        "status":"OK",
        "dbg_info":{
            ...
        }
    }
}