{"note":"OpenAPI conversion -- returning structured metadata","name":"paypal-webhooks","description":"Webhooks Management","version":"1.11","base_url":"https://api-m.sandbox.paypal.com","endpoints":16,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Webhooks Management\n@base https://api-m.sandbox.paypal.com\n@version 1.11\n@auth OAuth2\n@endpoints 16\n@toc notifications(16)\n\n@endpoint POST /v1/notifications/webhooks\n@desc Create webhook\n@required {url: str(uri) # The URL that is configured to listen on `localhost` for incoming `POST` notification messages that contain event information., event_types: [map{name!: str, description: str, status: str, resource_versions: [str]}] # An array of events to which to subscribe your webhook. To subscribe to all events, including events as they are added, specify the asterisk wild card. To replace the `event_types` array, specify the asterisk wild card. To list all supported events, list available events.}\n@optional {id: str # The ID of the webhook., links: [map{href!: str, rel!: str, method: str}] # An array of request-related [HATEOAS links](/docs/api/reference/api-responses/#hateoas-links/).}\n@returns(201) {id: str, url: str(uri), event_types: [map], links: [map]} # A successful request returns the HTTP `201 Created` status code and a JSON response body with a [`webhook`](/docs/api/webhooks/v1/#definition-webhook) object that includes the webhook ID for later use.\n@example_request {\"url\":\"https://example.com/example_webhook\",\"event_types\":[{\"name\":\"PAYMENT.AUTHORIZATION.CREATED\"},{\"name\":\"PAYMENT.AUTHORIZATION.VOIDED\"}]}\n\n@endpoint GET /v1/notifications/webhooks\n@desc List webhooks\n@optional {anchor_type: str(APPLICATION/ACCOUNT)=APPLICATION # Filters the webhooks in the response by an `anchor_id` entity type.}\n@returns(200) {webhooks: [map]} # A successful request returns the HTTP `200 OK` status code and a JSON response body that lists webhooks with webhook details.\n\n@endpoint GET /v1/notifications/webhooks/{webhook_id}\n@desc Show webhook details\n@required {webhook_id: str # The ID of the webhook for which to list subscriptions.}\n@returns(200) {id: str, url: str(uri), event_types: [map], links: [map]} # A successful request returns the HTTP `200 OK` status code and a JSON response body that shows webhook details.\n\n@endpoint PATCH /v1/notifications/webhooks/{webhook_id}\n@desc Update webhook\n@required {webhook_id: str # The ID of the webhook for which to list subscriptions.}\n@returns(200) {id: str, url: str(uri), event_types: [map], links: [map]} # A successful request returns the HTTP `200 OK` status code and a JSON response body that shows webhook details.\n\n@endpoint DELETE /v1/notifications/webhooks/{webhook_id}\n@desc Delete webhook\n@required {webhook_id: str # The ID of the webhook for which to list subscriptions.}\n@returns(204) A successful request returns the HTTP `204 No Content` status code with no JSON response body.\n\n@endpoint GET /v1/notifications/webhooks/{webhook_id}/event-types\n@desc List event subscriptions for webhook\n@required {webhook_id: str # The ID of the webhook for which to list subscriptions.}\n@returns(200) {event_types: [map]} # A successful request returns the HTTP `200 OK` status code and a JSON response body that lists event subscriptions for a webhook.\n\n@endpoint POST /v1/notifications/webhooks-lookup\n@desc Create webhook lookup\n@returns(201) {id: str, client_id: str, links: [map]} # A successful request returns the HTTP `201 Created` status code and a JSON response body that shows webhook lookup details.\n\n@endpoint GET /v1/notifications/webhooks-lookup\n@desc List webhook lookups\n@returns(200) {webhooks_lookups: [map]} # A successful request returns the HTTP `200 OK` status code and a JSON response body that lists webhook lookups with webhook lookup details.\n\n@endpoint GET /v1/notifications/webhooks-lookup/{webhook_lookup_id}\n@desc Show webhook lookup details\n@required {webhook_lookup_id: str # The ID of the webhook lookup to delete.}\n@returns(200) {id: str, client_id: str, links: [map]} # A successful request returns the HTTP `200 OK` status code and a JSON response body that shows webhook lookup details.\n\n@endpoint DELETE /v1/notifications/webhooks-lookup/{webhook_lookup_id}\n@desc Delete webhook lookup\n@required {webhook_lookup_id: str # The ID of the webhook lookup to delete.}\n@returns(204) A successful request returns the HTTP `204 No Content` status code with no JSON response body.\n\n@endpoint POST /v1/notifications/verify-webhook-signature\n@desc Verify webhook signature\n@required {auth_algo: str # The algorithm that PayPal uses to generate the signature and that you can use to verify the signature. Extract this value from the `PAYPAL-AUTH-ALGO` response header, which is received with the webhook notification., cert_url: str(uri) # The X.509 public key certificate. Download the certificate from this URL and use it to verify the signature. Extract this value from the `PAYPAL-CERT-URL` response header, which is received with the webhook notification., transmission_id: str # The ID of the HTTP transmission. Contained in the `PAYPAL-TRANSMISSION-ID` header of the notification message., transmission_sig: str # The PayPal-generated asymmetric signature. Appears in the `PAYPAL-TRANSMISSION-SIG` header of the notification message., transmission_time: str(date-time) # The date and time of the HTTP transmission, in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6). Appears in the `PAYPAL-TRANSMISSION-TIME` header of the notification message., webhook_id: str # The ID of the webhook as configured in your Developer Portal account., webhook_event: map{id: str, create_time: str(date-time), resource_type: str, event_version: str, event_type: str, summary: str, resource_version: str, resource: map, links: [map]} # A webhook event notification.}\n@returns(200) {verification_status: str} # A successful request returns the HTTP `200 OK` status code and a JSON response body that shows the verification status.\n@example_request {\"transmission_id\":\"69cd13f0-d67a-11e5-baa3-778b53f4ae55\",\"transmission_time\":\"2016-02-18T20:01:35Z\",\"cert_url\":\"cert_url\",\"auth_algo\":\"SHA256withRSA\",\"transmission_sig\":\"lmI95Jx3Y9nhR5SJWlHVIWpg4AgFk7n9bCHSRxbrd8A9zrhdu2rMyFrmz+Zjh3s3boXB07VXCXUZy/UFzUlnGJn0wDugt7FlSvdKeIJenLRemUxYCPVoEZzg9VFNqOa48gMkvF+XTpxBeUx/kWy6B5cp7GkT2+pOowfRK7OaynuxUoKW3JcMWw272VKjLTtTAShncla7tGF+55rxyt2KNZIIqxNMJ48RDZheGU5w1npu9dZHnPgTXB9iomeVRoD8O/jhRpnKsGrDschyNdkeh81BJJMH4Ctc6lnCCquoP/GzCzz33MMsNdid7vL/NIWaCsekQpW26FpWPi/tfj8nLA==\",\"webhook_id\":\"1JE4291016473214C\",\"webhook_event\":{\"id\":\"8PT597110X687430LKGECATA\",\"create_time\":\"2013-06-25T21:41:28Z\",\"resource_type\":\"authorization\",\"event_type\":\"PAYMENT.AUTHORIZATION.CREATED\",\"summary\":\"A payment authorization was created\",\"resource\":{\"id\":\"2DC87612EK520411B\",\"create_time\":\"2013-06-25T21:39:15Z\",\"update_time\":\"2013-06-25T21:39:17Z\",\"state\":\"authorized\",\"amount\":{\"total\":\"7.47\",\"currency\":\"USD\",\"details\":{\"subtotal\":\"7.47\"}},\"parent_payment\":\"PAY-36246664YD343335CKHFA4AY\",\"valid_until\":\"2013-07-24T21:39:15Z\",\"links\":[{\"href\":\"https://api-m.paypal.com/v1/payments/authorization/2DC87612EK520411B\",\"rel\":\"self\",\"method\":\"GET\"},{\"href\":\"https://api-m.paypal.com/v1/payments/authorization/2DC87612EK520411B/capture\",\"rel\":\"capture\",\"method\":\"POST\"},{\"href\":\"https://api-m.paypal.com/v1/payments/authorization/2DC87612EK520411B/void\",\"rel\":\"void\",\"method\":\"POST\"},{\"href\":\"https://api-m.paypal.com/v1/payments/payment/PAY-36246664YD343335CKHFA4AY\",\"rel\":\"parent_payment\",\"method\":\"GET\"}]}}}\n\n@endpoint GET /v1/notifications/webhooks-event-types\n@desc List available events\n@returns(200) {event_types: [map]} # A successful request returns the HTTP `200 OK` status code and a JSON response body that lists available events to which any webhook can subscribe.\n\n@endpoint GET /v1/notifications/webhooks-events\n@desc List event notifications\n@optional {page_size: int=10 # The number of webhook event notifications to return in the response., start_time: str # Filters the webhook event notifications in the response to those created on or after this date and time and on or before the `end_time` value. Both values are in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6) format. Example: `start_time=2013-03-06T11:00:00Z`., end_time: str # Filters the webhook event notifications in the response to those created on or after the `start_time` and on or before this date and time. Both values are in [Internet date and time format](https://tools.ietf.org/html/rfc3339#section-5.6) format. Example: `end_time=2013-03-06T11:00:00Z`., transaction_id: str # Filters the response to a single transaction, by ID., event_type: str # Filters the response to a single event.}\n@returns(200) {events: [map], count: int, links: [map]} # A successful request returns the HTTP `200 OK` status code and a JSON response body that lists webhooks event notifications.\n\n@endpoint GET /v1/notifications/webhooks-events/{event_id}\n@desc Show event notification details\n@required {event_id: str # The ID of the webhook event notification to resend.}\n@returns(200) {id: str, create_time: str(date-time), resource_type: str, event_version: str, event_type: str, summary: str, resource_version: str, resource: map, links: [map]} # A successful request returns the HTTP `200 OK` status code and a JSON response body that shows webhooks event notification details.\n\n@endpoint POST /v1/notifications/webhooks-events/{event_id}/resend\n@desc Resend event notification\n@required {event_id: str # The ID of the webhook event notification to resend.}\n@optional {webhook_ids: [str] # An array of webhook account IDs.}\n@returns(202) {id: str, create_time: str(date-time), resource_type: str, event_version: str, event_type: str, summary: str, resource_version: str, resource: map, links: [map]} # A successful request returns the HTTP `202 Accepted` status code and a JSON response body that shows webhook event notification details.\n\n@endpoint POST /v1/notifications/simulate-event\n@desc Simulate webhook event\n@required {event_type: str # The event name. Specify one of the subscribed events. For each request, provide only one event.}\n@optional {webhook_id: str # The ID of the webhook. If omitted, the URL is required., url: str(uri) # The URL for the webhook endpoint. If omitted, the webhook ID is required., resource_version: str # The identifier for event type ex: 1.0/2.0 etc.}\n@returns(202) {id: str, create_time: str(date-time), resource_type: str, event_version: str, event_type: str, summary: str, resource_version: str, resource: map, links: [map]} # A successful request returns the HTTP `202 Accepted` status code and a JSON response body that shows details for the mock event.\n@example_request {\"url\":\"https://example.com/example_webhook\",\"event_type\":\"PAYMENT.AUTHORIZATION.CREATED\",\"resource_version\":\"1.0\"}\n\n@end\n"}