Skip to content
Docs menu

Copy the text

Your browser did not allow copying. The text below is selected: press Ctrl+C, or ⌘C on a Mac.

Notify a device about a conversion

The device gets a notification when the conversion finishes or fails. With activity_token, the Live Activity gets the progress; without one, the server can start a Live Activity after about 15 seconds when the device has a push-to-start token.

PUThttps://api.switchfile.io/v1/conversions/{id}/push

Needs an API key: Authorization: Bearer YOUR_API_KEY. See Authentication.

Example

curl -X PUT "https://api.switchfile.io/v1/conversions/0b8a7c1e-5d0f-4a51-9f39-2f7f4c1d9a10/push" \
  -H "Authorization: Bearer $SWITCHFILE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "device_id": "b3e1f2a4-5c6d-4e7f-8a9b-0c1d2e3f4a5b"
  }'

Parameters

Path parameters

  • idstring (uuid)required

    ID of the conversion

Request body

  • activity_tokenstring | null

    APNs token as hex

    matches ^[0-9a-fA-F]{32,200}$

  • device_idstring (uuid)required

Responses

  • 200OK
    • conversion_idstring (uuid)required
    • device_idstring (uuid)required
    • live_activitybooleanrequired
    • progressstring (integer) | integerrequired
    • statusstringrequired

      one of "queued", "processing", "finished", "failed"

    200 application/json
    {
      "conversion_id": "0b8a7c1e-5d0f-4a51-9f39-2f7f4c1d9a10",
      "device_id": "b3e1f2a4-5c6d-4e7f-8a9b-0c1d2e3f4a5b",
      "status": "processing",
      "progress": 50,
      "live_activity": false
    }
  • 401The API key is missing or not valid
    401 application/problem+json
    {
      "type": "https://switchfile.io/docs/api/v1#errors-unauthenticated",
      "title": "Unauthenticated",
      "status": 401,
      "code": "UNAUTHENTICATED",
      "detail": "Missing or invalid API key."
    }
  • 403Not available with a service key or a connected app
    403 application/problem+json
    {
      "type": "https://switchfile.io/docs/api/v1#errors-not-available",
      "title": "Not available",
      "status": 403,
      "code": "NOT_AVAILABLE",
      "detail": "This endpoint is only available with your own API key or the switchfile app."
    }
  • 404Does not exist for this account
    404 application/problem+json
    {
      "type": "https://switchfile.io/docs/api/v1#errors-not-found",
      "title": "Not found",
      "status": 404,
      "code": "NOT_FOUND",
      "detail": "Not found."
    }
  • 422Invalid data. errors names the fields
    422 application/problem+json
    {
      "type": "https://switchfile.io/docs/api/v1#errors-invalid-data",
      "title": "Invalid data",
      "status": 422,
      "code": "INVALID_DATA",
      "detail": "The request contains invalid data.",
      "errors": {
        "to": [
          "Expected string"
        ]
      }
    }
  • 429Too many requests or a daily quota is used up. See Retry-After
    429 application/problem+json
    {
      "type": "https://switchfile.io/docs/api/v1#errors-rate-limit-exceeded",
      "title": "Rate limit exceeded",
      "status": 429,
      "code": "RATE_LIMIT_EXCEEDED",
      "detail": "Too many requests. Try again in 12 seconds."
    }

Error bodies and codes are explained in Errors.